易截截图软件、单文件、免安装、纯绿色、仅160KB

java线程问题

java问题
悬赏分:0 - 离问题结束还有 14 天 22 小时
public class ThreadPrint{

static Thread makeThread(final String id,boolean doemon)
{

Thread t=new Thread(id){

public void run(){
System.out.println(id);
}
};
t.setDaemon(daemon);
t.start();
return t;

}
public static void main(String args[])

Thread a=makeThread("A",false);
Thread b=makeThread("B",true);
System.out.println("END,\n");

}
选择正确的答案:
a.总是打印字符A
b.总打印字符B
c.从不在END之后打印A
d.从不在END之后打印B
e.程序可能依次打印B  END和A,
请问这题为什么是选择a ,e呢,我有点不怎么理解麻烦大家解释下

当所有的非daemon线程退出后,整个进程也就退出了。
打印A的线程是非daemon的,所以,A是肯定会被打印出来的,a是对的。
B不一定有机会被打印,那要看它是否在主线程和打印A的线程退出之前能获得调度运行的机会。所以b不对。
c和d也不一定,实际的线程调度次序和运行情况是很难预测的,一切皆有可能。
e当然是对的,因为它说“可能”,当调度器依次调度打印B的线程、主线程和打印A的线程上台运行时,自然就是这种结果。

引用
当所有的非daemon线程退出后,整个进程也就退出了。
打印A的线程是非daemon的,所以,A是肯定会被打印出来的,a是对的。
B不一定有机会被打印,那要看它是否在主线程和打印A的线程退出之前能获得


相关问答:

java编译运行c程序,并显示结果

通过java程序,先编译c程序,如出现错误,提示C程序中的错误,编译成功就运行,显示C的运行结果,最好把C的运行时间和内存等都显示出来

各位大哥大姐帮帮忙,小弟感激不尽!
用java的进程类试试
我给你转 ......

linux下java调用C++库中函数的问题

不知道是什么原因,我该如何处理,请大虾们指教了,小弟在此谢过。。。。
错误信息如下:
The program being debugged was signaled while in a function called from GDB.
GDB has restored the context t ......

jsp 中乱码的 - Java / Web 开发

我的开发的平台是Myeclipes6.0 + tomcat5.x + mysql
我所有的编码方式都是用的UTF-8 
我只用了Strtus框架
在一个form中如下用的是post的提交方式:
 <form class="form" action=&quo ......

jsp学习前要了解那些知识?(学了java了)

jsp学习前要了解那些知识?学了java了。不知道还要学习些什么知识才可以很好的学习jsp
HTML、JavaScript

直接学就可以了,遇到不会就现学就行。

Html  css servlet

去了解浏览器与web服务器的简单交 ......

java问题

1.public class cc {

public double sum(){
  double m=1;
  double n=2;
  double sum=0;
 
  for(int i=0;i <20;i++ ){
  sum=sum+m/n;
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号