Thread的问题

Javan05s 2005-11-27 05:33:03
1.public class CoreThread extends Thread {
private static int i=0;
public CoreThread() {
super(""+ ++i);
start();
}
.......
}
//为什么i必须是static?否则就有"父类构造器调用之前不能引用它"错误.

2.线程调度机制是抢占式的吗?

3.如何线程可以同名,那么JAVA用什么来标识?

thanks!
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
skycncomp 2005-11-27
  • 打赏
  • 举报
回复
1、因为i属于CoreThread对象,而此时还没有构造CoreThread ,所以不能引用。
而static 不属于任何对象

2、是

3,猜想,你并不能通过构造的那个名字对线程做任何操作,只能通过引用来操作线程。jvm实际上并不是通过线程的名字来识别线程的。线程是用本地方法实现了。

不知道对不对。
gemouzhi 2005-11-27
  • 打赏
  • 举报
回复
//为什么i必须是static?
-------------
因为在父类构造函数装载之前,i还没有装载。所以用static来装载这个变量
niko7 2005-11-27
  • 打赏
  • 举报
回复
在构造方法中如果要调用 super 方法,必须是最开始的。因为此时自身的实例还不存在。
线程是抢占的
jvm不是通过线程的名字来管理线程的,这个名字可以随便处理。

62,629

社区成员

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

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