2013-07-23 61 views

回答

4

是的。你的軟件將會崩潰並且會發生可怕的事情。你正在閱讀和寫作不同的線程。使用ConcurrentQueue。你爲什麼不呢?

+0

因爲我明顯可以使用併發隊列,所以我更感興趣的是爲什麼 – KallDrexx

+1

「爲什麼」是一個實現細節。它的設計並非如此。最好聽一聽關於這個文檔的文檔:「任何實例成員不保證是線程安全的。」 (尤其是***併發讀寫)。 – spender

+0

@KallDrexx,至於爲什麼,這是因爲默認情況下,變異狀態不是線程安全的。由於股票隊列並不表示它*是*線程安全的,所以它自然不是。 –