黑马程序员技术交流社区

标题: 在多线程中start与run [打印本页]

作者: zclove898    时间: 2011-12-14 00:59
标题: 在多线程中start与run
本帖最后由 zclove898 于 2011-12-14 01:46 编辑

    在多线程中,子类中得run方法和对象中得start方法在程序中具体的作用是什么,对象中可以写run();吗?
作者: 小春同学    时间: 2011-12-14 01:05
本帖最后由 熊明春 于 2011-12-14 01:07 编辑

run()方法的代码代表了线程需要完成的任务,相当与线程的执行体
start()表示启动,启动该线程。
(对象中写run()是指···?)
作者: 黑马巩伟伟    时间: 2011-12-14 01:26
start()是启动一个线程,让该线程处于准备运行状态,还没有运行。而run()是一个线程体,也就是说它里面的代码是线程启动后要执行的。如果只是单纯的运行一个run(),那就只是个普通的方法,没有start()是达不到线程的目的。
作者: 李明    时间: 2011-12-14 08:43
创建执行线程有两种方法:
1、继承Thread类,复写run()方法。
创建类对象,调用start()方法,开启线程。对象调用start方法是开启线程,并执行run方法,直接调用run方法,就是普通的方法调用,不开启线程。

2、声明实现Runnable接口,实现run方法
创建类对象,把对象传给new Thread(),调用Thread类的start()方法。





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