黑马程序员技术交流社区
标题:
Thread.start()与Thread.run()有什么区别?
[打印本页]
作者:
hehe04
时间:
2012-8-31 23:55
标题:
Thread.start()与Thread.run()有什么区别?
这两个方法都可以开启线程,究竟有什么区别呢???
麻烦说详细点,谢谢
作者:
尤洋
时间:
2012-9-1 08:23
Thead.start() 开启线程同时调用run方法;
而Thead.run()仅仅是调用了run方法,并没有开启线程,程序运行时依然是单线程
作者:
hehe04
时间:
2012-9-1 08:47
尤洋 发表于 2012-9-1 08:23
Thead.start() 开启线程同时调用run方法;
而Thead.run()仅仅是调用了run方法,并没有开启线程,程序运行时 ...
也就是说 如果我在UI线程中run, 还是和直接调用方法一回事?
作者:
李杰
时间:
2012-9-1 09:09
Thread.start()是调用系统底层东西打开线程,并且调用run()方法,
而Thead.run()跟普通的方法调用一样,还是单线程,
作者:
mjbtdym
时间:
2012-9-1 22:02
run()方法,用于封装线程运行的任务代码。直接用创建的线程对象调用,
并没有产生新的线程,仅仅是当前正在运行的线程(如,主线程)在执行run方法.
start()方法,共有两个作用,1,开启了当前线程,也就是说,
当前程序又多了一条执行路径和当前线程(主线程)并发执行。
而run()方法会被新开启的线程运行。
作者:
张文
时间:
2012-9-1 22:09
原帖地址:http://java.itcast.cn/news/721e01a5/c902/4b84/93b7/fa225c6a43cf.shtml
run()方法,用于封装线程运行的任务代码。直接用创建的线程对象调用,
并没有产生新的线程,仅仅是当前正在运行的线程(如,主线程)在执行run方法.
start()方法,共有两个作用,1,开启了当前线程,也就是说,
当前程序又多了一条执行路径和当前线程(主线程)并发执行。
而run()方法会被新开启的线程运行。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2