我在某處讀到啓動線程對發生關係之前有一些特殊效果。現在我不確定我的代碼是否保證關係之前發生的事情,所以請賜教。Java在線程啓動之前發生的事
我有一個Dispatcher線程和一個Worker類實現Runnable
接口。分派器線程創建Worker的新實例,並通過帶有元素的add
方法在Worker實例中填充LinkedList
。
然後分派器通過execute
方法將Worker實例傳遞給ExecutorService
。
然後Worker類中的run方法開始訪問並從LinkedList
中刪除東西。
工作人員的新開始實例是否與調度員留下的LinkedList
相同的狀態?或者可能是LinkedList
處於不穩定狀態?我需要用同步方法填寫LinkedList
嗎?
謝謝,我雖然如此。但調度員不得再次觸摸數據。是否足以通過構造函數Worker(LinkedList blahBlah)傳遞新創建的LinkedList。構造函數在關係之前發生,不是嗎? –
@Franz - 爲什麼不讓工作線程創建列表,如果所有的調度程序都這樣做,就是構建它們?我不完全確定構造函數是否會在關係之前發生。原則上你可能是對的。 – ripper234
該死的,我很擅長這個東西,如果沒有使用,知識如何快速生鏽,真是太棒了。 – ripper234