A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© O(∩_∩)O~wen 中级黑马   /  2015-3-18 22:34  /  808 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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, 下载次数: 16)

QQ图片20150318223113.jpg

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

QQ图片201503182231531.jpg

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马