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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 热血青年 中级黑马   /  2014-5-29 22:44  /  1299 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 热血青年 于 2014-5-29 23:19 编辑

创建线程方式有哪些?

点评

认真看视频哩~  发表于 2014-5-29 23:04

10 个回复

倒序浏览
继承Thread,覆写run()方法,实现Runnable接口,覆写run()方法,启动时要把子类对象传到线程里才能启动线程start()
回复 使用道具 举报
线程创建有2种方式  
第一种是
  1  定义类继承Thread   
  2 重写父类的run方法--将自定义的代码存储在方法中
  3 调用线程的start方法  start() --可以启动线程和调用run()
第二种是
  1  定义类实现runnable接口
  2  重写run()方法
  3  创建类的对象和thread的对象,把类的对象传入到new 出来的thread中  
          classa a = new classa();        Thread th = new Thread(a);
  4  调用start()方法启动线程
回复 使用道具 举报
方式一:继承Thread类,覆盖run方法。

步骤:
1,定义类继承Thread类。
2,覆盖Thread类中的run方法。
3,创建Thread类的子类对象创建线程对象。
4,调用线程对象的start方法开启线程。





方式二:
1,定义一个类实现Runnable接口。
2,覆盖Runnable接口中的run方法。
        将线程要运行的代码存储到run方法中。
3,创建该接口的子类对象。
4,通过Thread类进行线程的创建,并将Runnable接口的子类对象作为Thread类的构造函数的实参进行传递。
        为什么要传递呢?
        让线程对象创建时,就要明确要运行哪个run方法,而这个run方法是需要被对象调用的,
        所以将run方法所属的对象传递给Thread类的构造函数。
5,调用Thread类中的start方法开启线程。
回复 使用道具 举报
大半夜还在学习~~~~:)
回复 使用道具 举报
张辉玉 发表于 2014-5-29 22:51
线程创建有2种方式  
第一种是
  1  定义类继承Thread   

谢谢!!!!!!!!!! 知道了
回复 使用道具 举报
Jero 中级黑马 2014-5-29 23:33:43
7#
楼上说的就是的 看需求创建就好了。
回复 使用道具 举报
张辉玉 发表于 2014-5-29 22:51
线程创建有2种方式  
第一种是
  1  定义类继承Thread   

知道了 ,,,谢谢!!!!!!
回复 使用道具 举报
wyqs92 发表于 2014-5-29 22:52
方式一:继承Thread类,覆盖run方法。

步骤:

谢谢 !!!!!!!!
回复 使用道具 举报
张辉玉 发表于 2014-5-29 22:51
线程创建有2种方式  
第一种是
  1  定义类继承Thread   

那thread类中run()和stat()方法,有区别吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马