黑马程序员技术交流社区

标题: 创建线程方式有哪些? [打印本页]

作者: 热血青年    时间: 2014-5-29 22:44
标题: 创建线程方式有哪些?
本帖最后由 热血青年 于 2014-5-29 23:19 编辑

创建线程方式有哪些?

作者: 成小龙    时间: 2014-5-29 22:50
继承Thread,覆写run()方法,实现Runnable接口,覆写run()方法,启动时要把子类对象传到线程里才能启动线程start()
作者: 张辉玉    时间: 2014-5-29 22:51
线程创建有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()方法启动线程
作者: wyqs92    时间: 2014-5-29 22:52
方式一:继承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 23:20
大半夜还在学习~~~~:)
作者: 热血青年    时间: 2014-5-29 23:23
张辉玉 发表于 2014-5-29 22:51
线程创建有2种方式  
第一种是
  1  定义类继承Thread   

谢谢!!!!!!!!!! 知道了
作者: Jero    时间: 2014-5-29 23:33
楼上说的就是的 看需求创建就好了。
作者: 热血青年    时间: 2014-5-30 00:05
张辉玉 发表于 2014-5-29 22:51
线程创建有2种方式  
第一种是
  1  定义类继承Thread   

知道了 ,,,谢谢!!!!!!
作者: 热血青年    时间: 2014-5-30 00:15
wyqs92 发表于 2014-5-29 22:52
方式一:继承Thread类,覆盖run方法。

步骤:

谢谢 !!!!!!!!
作者: 热血青年    时间: 2014-5-30 00:22
张辉玉 发表于 2014-5-29 22:51
线程创建有2种方式  
第一种是
  1  定义类继承Thread   

那thread类中run()和stat()方法,有区别吗?




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