JAVA创建线程的两种方式
来源:互联网 发布:淘宝网妈妈装 编辑:程序博客网 时间:2024/05/16 10:07
好记性不如赖笔头…………
创建线程有两种方式:
1、 继承Thread类,重写run方法,run方法内部写入线程执行的具体代码,创建线程时代码如下:
//创建线程Thread thread = new Thread;//启动线程thread.start();
2、 实现Runnable接口,重写run方法,run方法内部写入线程执行的具体代码,创建线程时,代码如下
//假设Demo类实现了Runnable接口,创建线程的方式如下:Demo demo = new Demo();Thread thread = new Thread(demo);//启动线程:thread.start();//上面的代码可以简写为Thread thread = new Thread(new Demo());thread.start();
注意:启动线程时使用的是start()方法,而不是run(),如果使用的是run(),并没有启动线程,而是直接执行的run()方法而已。
-------------------------------------------------------------------------第一种线程创建方式-------------------------------------------------------------------------package com.Ckinghan.thread;/** * @描述:第一种线程创建方式,继承Thread类,重写run方法,在run方法中,写入线程的具体执行过程 * @创建时间: */public class FirstThread extends Thread { @Override public void run() { for(int i = 0; i < 30; i ++){ System.out.println(this.getName()+"--HelloThread---"+i); } }}-------------------------------------------------------------------------第二种线程创建方式-------------------------------------------------------------------------package com.Ckinghan.thread;/** * @描述:第二种线程创建方式,实现Runnable接口,重写run方法,在run方法中,写入线程的具体执行过程 * @创建时间: */public class FirstThread2 implements Runnable { @Override public void run() { for(int i = 0; i < 30; i++){ System.out.println(Thread.currentThread().getName()+"--HelloThread2---"+i); } }}-------------------------------------------------------------------------测试启动线程-------------------------------------------------------------------------package com.Ckinghan.thread;public class FirstThreadDemo { public static void main(String[] args) { /** * 第一种线程创建方式,继承Thread类,重写run方法,在run方法中,写入线程的具体执行过程 */ createFirstThread(); /** * 第二种线程创建方式,实现Runnable接口,重写run方法,在run方法中,写入线程的具体执行过程 */ createFirstThread2(); } /** * @描述:第二种线程创建方式,实现Runnable接口,重写run方法,在run方法中,写入线程的具体执行过程 * @创建时间: */ public static void createFirstThread2(){ //创建第一个线程 Thread thread = new Thread(new FirstThread2()); thread.setName("第二种线程1:"); thread.start(); //创建第二线程 Thread thread1 = new Thread(new FirstThread2()); thread1.setName("第二种线程2:"); thread1.start(); } /** * @描述:第一种线程创建方式,继承Thread类,重写run方法,在run方法中,写入线程的具体执行过程 * @创建时间: */ public static void createFirstThread(){ //创建并启动第一个线程 FirstThread firstThread = new FirstThread(); firstThread.setName("第一种线程1:"); firstThread.start(); //创建并启动第二个线程 FirstThread firstThread2 = new FirstThread(); firstThread2.setName("第一种线程2:"); firstThread2.start(); }}*********************执行结果:第一种线程1:--HelloThread---0第一种线程1:--HelloThread---1第一种线程1:--HelloThread---2第一种线程1:--HelloThread---3第一种线程1:--HelloThread---4第二种线程2:--HelloThread2---0第一种线程1:--HelloThread---5第一种线程1:--HelloThread---6第一种线程1:--HelloThread---7第一种线程1:--HelloThread---8第一种线程1:--HelloThread---9第一种线程1:--HelloThread---10第一种线程1:--HelloThread---11第一种线程1:--HelloThread---12第一种线程1:--HelloThread---13第一种线程1:--HelloThread---14第一种线程1:--HelloThread---15第一种线程1:--HelloThread---16第一种线程1:--HelloThread---17第一种线程1:--HelloThread---18第一种线程1:--HelloThread---19第一种线程1:--HelloThread---20第一种线程1:--HelloThread---21第一种线程1:--HelloThread---22第一种线程1:--HelloThread---23第一种线程1:--HelloThread---24第一种线程1:--HelloThread---25第一种线程1:--HelloThread---26第一种线程1:--HelloThread---27第一种线程1:--HelloThread---28第一种线程1:--HelloThread---29第二种线程1:--HelloThread2---0第二种线程1:--HelloThread2---1第二种线程1:--HelloThread2---2第二种线程1:--HelloThread2---3第二种线程1:--HelloThread2---4第二种线程1:--HelloThread2---5第二种线程1:--HelloThread2---6第二种线程1:--HelloThread2---7第二种线程1:--HelloThread2---8第二种线程1:--HelloThread2---9第二种线程1:--HelloThread2---10第二种线程1:--HelloThread2---11第二种线程1:--HelloThread2---12第二种线程1:--HelloThread2---13第二种线程1:--HelloThread2---14第二种线程1:--HelloThread2---15第二种线程1:--HelloThread2---16第二种线程1:--HelloThread2---17第二种线程1:--HelloThread2---18第二种线程1:--HelloThread2---19第二种线程1:--HelloThread2---20第二种线程1:--HelloThread2---21第二种线程1:--HelloThread2---22第二种线程1:--HelloThread2---23第二种线程1:--HelloThread2---24第二种线程1:--HelloThread2---25第二种线程1:--HelloThread2---26第二种线程1:--HelloThread2---27第二种线程1:--HelloThread2---28第一种线程2:--HelloThread---0第一种线程2:--HelloThread---1第一种线程2:--HelloThread---2第一种线程2:--HelloThread---3第一种线程2:--HelloThread---4第一种线程2:--HelloThread---5第一种线程2:--HelloThread---6第一种线程2:--HelloThread---7第一种线程2:--HelloThread---8第一种线程2:--HelloThread---9第一种线程2:--HelloThread---10第一种线程2:--HelloThread---11第一种线程2:--HelloThread---12第一种线程2:--HelloThread---13第一种线程2:--HelloThread---14第一种线程2:--HelloThread---15第一种线程2:--HelloThread---16第一种线程2:--HelloThread---17第一种线程2:--HelloThread---18第一种线程2:--HelloThread---19第一种线程2:--HelloThread---20第一种线程2:--HelloThread---21第一种线程2:--HelloThread---22第一种线程2:--HelloThread---23第一种线程2:--HelloThread---24第一种线程2:--HelloThread---25第一种线程2:--HelloThread---26第一种线程2:--HelloThread---27第一种线程2:--HelloThread---28第一种线程2:--HelloThread---29第二种线程1:--HelloThread2---29第二种线程2:--HelloThread2---1第二种线程2:--HelloThread2---2第二种线程2:--HelloThread2---3第二种线程2:--HelloThread2---4第二种线程2:--HelloThread2---5第二种线程2:--HelloThread2---6第二种线程2:--HelloThread2---7第二种线程2:--HelloThread2---8第二种线程2:--HelloThread2---9第二种线程2:--HelloThread2---10第二种线程2:--HelloThread2---11第二种线程2:--HelloThread2---12第二种线程2:--HelloThread2---13第二种线程2:--HelloThread2---14第二种线程2:--HelloThread2---15第二种线程2:--HelloThread2---16第二种线程2:--HelloThread2---17第二种线程2:--HelloThread2---18第二种线程2:--HelloThread2---19第二种线程2:--HelloThread2---20第二种线程2:--HelloThread2---21第二种线程2:--HelloThread2---22第二种线程2:--HelloThread2---23第二种线程2:--HelloThread2---24第二种线程2:--HelloThread2---25第二种线程2:--HelloThread2---26第二种线程2:--HelloThread2---27第二种线程2:--HelloThread2---28第二种线程2:--HelloThread2---29
阅读全文
0 0
- java 创建线程 的两种方式
- Java线程创建的两种方式
- java创建线程的两种方式
- java创建线程的两种方式
- java线程的两种创建方式
- Java创建线程的两种方式
- java线程创建的两种方式
- Java创建线程的两种方式
- JAVA创建线程的两种方式
- Java线程创建的两种方式
- java创建线程的两种方式
- Java线程第三课:线程的两种创建方式
- 【java线程】创建线程的两种方式
- Java线程——两种创建线程的方式
- java创建线程的两种传统方式
- java#2 线程的两种创建方式
- java中创建线程的两种方式
- Java线程的两种创建方式及优劣比较
- linux中的ll
- cp: cannot create regular file '/media/lxl/wdd/boot/vxworks-cu2': Read-only file system
- Cygwin搭建hadoop开发环境
- 快速排序
- 《JAVA与模式》之观察者模式
- JAVA创建线程的两种方式
- 在使用android:layout_weight属性时,控件不能对齐的解决方案
- Activity状态转换和Activity栈
- csdn博客被封,解决方法
- MyBatis学习笔记(一)
- liux笔记本合盖继续运行
- ReactNative 自定义机场选择列表 AirportListView
- SteamVR Unity Tool Kit(二):激光与移动
- MySQL中关于JSON你不得不知道的那些事!