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的线程退出之前能获得
相关问答:
不知道是什么原因,我该如何处理,请大虾们指教了,小弟在此谢过。。。。 错误信息如下: The program being debugged was signaled while in a function called from GDB. GDB has restored the context t ......
目前有一个java程序,调用存储过程在数据库中写入一些数据,然后将这些数据传输给另外一个程序,目前不管java连接成功或是不成功,该存储过程都会写入数据! 目前需要在java连接不成功的情况下,有何方法能使存储过程 ......
RT,想写一个小的程序,其中一台电脑登陆了教育网直通车代理,作为服务器。 在另一台电脑上运行客户端访问服务器。可是总显示连接超时。 (说明:在同一台电脑上同时运行Server和Client时正常。) 求教。 ......
各位大侠,我正在学习struts2,我想在web.xml中配置一个常量,然后在java类中读取,如何才能做到啊? 急急急急!! Java code: Enumeration params = null; params = request.getParameterNames(); ......
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; ......