我不明白为什么这只打印2个活动线程。
/* worker from the example */
for(int i = 0 ; i < 4 ; ++i){
Worker worker = new Worker(articles, factory);
worker.start();
workers.add(worker);
}
System.out.println("Number of active threads : " + Worker.activeCount());
My Worker课程写得像这样:
class Worker extends Thread{}
答案 0 :(得分:4)
线程需要时间来启动和执行。当前线程不会停止并等待它们启动。这意味着您在打印该消息时可能看不到任何线程。
注意:线程的整个目的是尽可能独立地运行代码。除非您明确编写代码来保证这一点,否则您无法对事情发生的顺序做出假设。