在Java中,如果我有一個從構造函數創建線程的類(通過調用該類的某些函數),並在我的main方法中創建該類的一個對象。主要方法是等待所有線程完成還是繼續到下一行?在執行下一行之前,主方法是否等待所有線程完成?
例如:
public static void main(String[] args) {
WorksWithThreads obj = new WorksWithThreads ();
//does something else - does this line happen after all the 9 threads finished their job?
}
class WorksWithThreads(){
public WorksWithThreads(){
for(int i=0;i<9;i++)
WithThread tread= new WithThread();
}
private static class WithThread extends Thread {
public WithThread() {
run();
}
public void run(){
//does something
}
}
}
我希望我是不是太混亂..預先感謝您.. 使然
好像它會是相當容易的測試運行後,9個線程created.Here你還沒有開始的9 threads.So有一個困惑的線程和一個sysout。 – 2013-05-07 18:42:59
您的代碼不會啓動任何線程。要啓動線程,必須調用start()方法。一個線程不應該從它的構造函數中啓動。 – 2013-05-07 18:43:00