黑马程序员技术交流社区

标题: 关于线程的方法调用,为什么不直接调用run()方法? [打印本页]

作者: 442851994    时间: 2012-11-2 12:18
标题: 关于线程的方法调用,为什么不直接调用run()方法?
本帖最后由 442851994 于 2012-11-2 21:23 编辑

在线程中start()方法做了什么?  为什么我们不去直接调用run()方法呢
作者: 石琪    时间: 2012-11-2 12:31
start:开启线程并调用该线程的run方法

run:仅仅是对象调用方法,而线程创建了,并没有运行.

run()方法用于存储线程要运行的代码
作者: 石琪    时间: 2012-11-2 12:34
ps:哥们,你这算是刷分吗?15分钟内两贴,擦。
作者: 焦晨光    时间: 2012-11-2 17:57
在线程中start()方法做了什么?
开启线程,调用线程的run方法!~

为什么我们不去直接调用run()方法呢
直接调用run方法和调用其他方法是一样的,是单线程,不是多线程!~
而执行strat()会开启一个新的线程!~
作者: 442851994    时间: 2012-11-2 21:21
石琪 发表于 2012-11-2 12:34
ps:哥们,你这算是刷分吗?15分钟内两贴,擦。

我现在再看线程  所以才问的线程问题   另外一个  是我同学问我的  我给他说的有点模糊  所以就上来问了啊   一下问两个都不行啊  
作者: 李计伟    时间: 2012-11-2 21:39
start()是自动调用run()方法.创建线程两种方式
1继承Thread类.
为什么要实现run方法?因为线程执行的代码都是封装run方法中的,如果你不重写run方法,默认调用的是父类的run方法,而父类的run方法没有效果。为了实现自己的效果,所以,重写run方法。

2实现Runnable接口 要实现run()方法





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