-1

我不明白为什么这只打印 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());

我的 Worker 类是这样写的:

class Worker extends Thread{}
4

1 回答 1

4

线程需要时间来启动和执行。当前线程不会停止并等待它们启动。这意味着在您打印该消息时,您可能看不到任何线程启动。

注意:线程的全部目的是尽可能独立地运行代码。除非您明确编写代码来保证这一点,否则您无法对事情发生的顺序做出假设。

于 2013-01-11T10:24:36.580 回答