Java,线程无法启动

时间:2013-01-11 10:21:03

标签: java multithreading

我不明白为什么这只打印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{}

1 个答案:

答案 0 :(得分:4)

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

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