0 我正在一個系統中多個線程可以入隊操作,但只有線程將出列這些操作以對它們執行業務邏輯。如果只有一個線程正在讀取數據,.Net隊列線程安全嗎? 在這種情況下使用常規.net Queue(而不是ConcurrentQueue)有什麼後果? 來源 2013-07-23 KallDrexx +0 隊列不是線程安全的,故事結束。 –
4 是的。你的軟件將會崩潰並且會發生可怕的事情。你正在閱讀和寫作不同的線程。使用ConcurrentQueue。你爲什麼不呢? 來源 2013-07-23 01:59:59 spender +0 因爲我明顯可以使用併發隊列,所以我更感興趣的是爲什麼 – KallDrexx +1 「爲什麼」是一個實現細節。它的設計並非如此。最好聽一聽關於這個文檔的文檔:「任何實例成員不保證是線程安全的。」 (尤其是***併發讀寫)。 – spender +0 @KallDrexx,至於爲什麼,這是因爲默認情況下,變異狀態不是線程安全的。由於股票隊列並不表示它*是*線程安全的,所以它自然不是。 –
隊列不是線程安全的,故事結束。 –