关于线程创建的一个问题

Gfire 2012-04-03 12:32:29
class level implements Runnable {
public void run() {

.............................
.............................
..............................
}
}

public class Pro {
public static void main(String args[]) {

level a = new level();//已经创建了线程,下面那句为什么又再次创建呢?
Thread thr1 = new Thread(a);

能不能写成这样:

level thr1= new level();


}

}
...全文
120 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuweng101 2012-04-03
  • 打赏
  • 举报
回复
level不过时实现了runnable接口。并不是继承Thread类。所以level并不是线程类。new出来的就不是线程
ovearj 2012-04-03
  • 打赏
  • 举报
回复
Runnable只有一个run方法
dxqrr 2012-04-03
  • 打赏
  • 举报
回复
看Thread类的构造方法,
yangfanxinbituya 2012-04-03
  • 打赏
  • 举报
回复

1,level a = new level();
2,Thread thr1 = new Thread(a);

第一句创建的是主线程,类实现了runnable,但类并不是Thread的子类
第二句是创建Thread的子类,并将对象a作为参数传递进去
ningtieming 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
level不过时实现了runnable接口。并不是继承Thread类。所以level并不是线程类。new出来的就不是线程
[/Quote]不是实现了Runnable接口的就是线程类吗?我觉得楼主的代码只是创建了两个线程而已吧
qp7711 2012-04-03
  • 打赏
  • 举报
回复
原因就是线程需要 Thread.start(); 启动。
线程运行体是 Runnable/Thread.run() 方法

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧