黑马程序员技术交流社区

标题: 线程的创建和启动 [打印本页]

作者: O(∩_∩)O~wen    时间: 2015-3-18 22:34
标题: 线程的创建和启动
java使用Thread类代表线程,所有线程的对象都必须是Thread类或Thread类的子类的实例。
继承Thread类创建线程类
通过继承Thread类创建并启动多线程的步骤:
1.定义Thread子类,重写Thread类中的run()方法,该run()方法方法体代表了线程需要完成的任务,即线程执行体。
2.创建Thread子类实例,即创建了线程对象。
3.调用线程对象的start()方法开启线程。
继承了Thread类的子类中可以直接使用this来获取当前正在执行的线程。

main方法的方法体是程序运行时默认的主线程。
Thread类提供的方法:
static currentThread()   //返回当前正在执行的线程
getName()   //该方法是Thread类的实例方法,用于返回调用该方法的线程名
setName(String name)    //为线程设置名字
默认情况下主线程的名字是main,其他多个线程的名字依次是Thread-0、Thread-1、...、Thread-n。(其中0、1、...、n不是局部变量而是实例属性)
使用继承Thread类的方法来创建线程类时,多个线程之间无法共享线程的实例属性。
(原因:每次创建线程对象时都需要创建一个新的类对象,所以多个线程间不能共享该实例属性。)
实现Runnable接口创建线程类
Runnable接口创建并启动线程步骤:
1.定义Runnable接口的实现类,重写run()方法。
2.实例化Runnable实现类,并以此实例作为Thread类的target来创建Thread对象,此时该Thread对象才是真正的线程对象。
3.调用线程对象的start()方法开启线程。
注:Runnable对象仅作为Thread类的target,Thread实例执行的run()方法是target中的run()方法。

Thread类中提供了2个构造方法用来装载Runnable的实现类对象:
1.Thread(Runnable target)     //接收Runnable子类对象实例
2.Thread(Runnable target,String name)   //接收Runnable子类对象实例的同时为线程定义名字

QQ图片20150318223113.jpg (157.54 KB, 下载次数: 17)

QQ图片20150318223113.jpg

QQ图片201503182231531.jpg (188.18 KB, 下载次数: 8)

QQ图片201503182231531.jpg





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2