Class Producer implements Runnable
Q q;
Producer(Q q) {
this.q = q; // line- 5
new Thread(this, "Producer").start();
}
public void run(){
int i = 0;
while(true){
q.put(i++);
}
}
}
嘿,任何人都可以請告訴我: 1.在第5行,這是哪些q? 2.爲什麼在第6行沒有實例化對象?直接啓動函數被調用? 謝謝...線程通信程序
這很可能是殺死你的系統的好方法。根據實現方式的不同,q.put()可能會爲每次調用創建一個或兩個對象,從而導致GC線程達到最大值。默認行爲是使用系統上的所有內核來執行此操作。除非你有非常快的消費者,否則你很可能會耗盡內存,這至少會阻止製片人。在main()函數中,新生產者(q)(其中q是Q的一個對象)中的 – 2011-06-15 09:33:29