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的线程上台运行时,自然就是这种结果。
相关问答:
通过java程序,先编译c程序,如出现错误,提示C程序中的错误,编译成功就运行,显示C的运行结果,最好把C的运行时间和内存等都显示出来
各位大哥大姐帮帮忙,小弟感激不尽!
用java的进程类试试
我给你转 ......
我想做够购物车用session 但是不知道怎么获取购买数量 谁有具体的代码吗 希望能割舍
下面是购物车的核心代码
有了这个 就应该能够做出来吧
Java code:
public void doPost(HttpServletRequest reque ......
下列(B)是高级事件
A.componentevent B.itemevent
C.windowevent D.mouseevent
这题请问高级事 ......
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;
......