1、
public class Runnable1_ex (extends Thread) implements Runnable
不知道怎么编译过去的,反正一个括号都不要有2、
第1个程序线程是3啊,一个main,以及th1,th2
第2个程序线程是5,一个main,以及th1,th2,ru1,ru2
public class Runnable1_ex (extends Thread) implements Runnable
不知道怎么编译过去的,反正一个括号都不要有2、
第1个程序线程是3啊,一个main,以及th1,th2
第2个程序线程是5,一个main,以及th1,th2,ru1,ru2
解决方案 »
- 关于文件传输。
- 老鼠走迷宫算法
- java解析字符串
- 我是菜鸟,想问个想了好久的问题
- UnsupportedClassVersionError问题;答完结贴;
- 百分求解:JAVA组播难题
- 菜鸟的数据库访问问题,各位大哥帮帮忙,急!!(在线等)
- 這個異常為什麼這麼觸發呀, 怎麼寫到方法的後面??
- 急!我使用一个继承了JComponent的类绘图,我想将绘的图绘到Image,有什么办法吗?
- 为什么用JAVAMAIL发附件,用OUTLOOK收下来附件文件名的中文成了乱码
- 如何修改rt.jar这个包含java开发所用class文件的包?
- linux系统下,我用WINE安装了普通的QQ, 没见它的图标 请问我怎么运行它?到哪里找? 我连C盘也没找到,在哪儿?在线等!!谢谢
大家用的都是那个版本的jdk?
我用的是j2sdk1.4.1_03 ,执行的结果是
第一个程序线程数为:4
第二个线程数是:6
真把我搞晕了!大家还是试一试这两个程序吧
用J2SDK1.4.1_06在CMD下,分别为3,5
另外我用eclipse也运行了一下,分别为4和6,请问高人是不是eclipse也把自己的运行的线程也算进去了?我这么理解对吗?没学过虚拟机方面的知识,请教了
所以不是3,5就是4,6
总之不应该都是3会不会有其他变数真不知道
这与操作系统有关系吗?还有个问题,通过继承Thread类和实现Runnable接口来创建线程有什么不同吗?既然这两个程序都需要继承Thread类,为什么还要用实现Runnable接口的方式?
实际上Runnable1_ex这个类不一定要继承thread的,因为你程序中用到了thread的getName方法,所以需要继承。1、如果你将getName的语句去掉,同时不继承Thread,你会发现程序可以正常运行。
此时由于Runnable1_ex不再是个线程类,所以
Runnable1_ex ru1=new Runnable1_ex('A');
后,ru1不是线程对象(不能ru1.start()),必须通过Thread th1=new Thread(ru1);
建立th1线程对象后才能启动这个时候,应该只有3个线程了(main、th1、th2)2、如果你不将getName的语句去掉,同时继承thread
此时由于Runnable1_ex是个线程类,所以
Runnable1_ex ru1=new Runnable1_ex('A');
后,ru1是线程对象(可以直接ru1.start())Thread th1=new Thread(ru1);
th1也是线程对象这个时候,应该有5个线程了(main、th1、th2,ru1,ru2)至于多出来的线程真不知道是哪来的:(
<<
java.lang.ThreadGroup[name=main,maxpri=10]
Thread[main,5,main]
Thread[Monitor Ctrl-Break,5,main] <--- 喏,被新加上的。。
>>