0
A
回答
1
List
不適用於同時從多個線程訪問。您不能有多個線程同時添加項目。試圖這樣做可能會導致整個列表被破壞,這可能會導致異常,跳過項目,您從未添加的新數據或其他類型的未定義行爲。
考慮使用從System.Collections.Concurrent
命名空間中的數據結構,如BlockingCollection
與ConcurrentQueue
或ConcurrentBag
如果你想將生成的對象添加到從多個線程同時集合。
0
您需要使用線程安全集合來執行此操作。看看ConcurrentQueue<T>
或ConcurrentBag<T>
或BlockingCollection<T>
(用於ProducerConsumer)
http://msdn.microsoft.com/en-us/library/dd997305(v=vs.110).aspx
相關問題
- 1. C#添加項目到列表視圖被線程竊聽?
- 2. 多個線程添加和刪除項目到列表框
- 3. C#列表 - 添加到列表底部
- 4. 添加列表項到列表在c#
- 5. 將手錶添加到多線程程序中的Inotify
- 6. 添加項目到多列列表框
- 7. 將法線添加到頂點列表
- 8. 將多個列添加到MySQL的C#列表中選擇
- 9. Python的多線程列表追加
- 10. C++。多線程瓶頸縮小到列表中的單線程應用程序
- 11. C++多線程陣列
- 12. C#Winform多線程序列
- 13. C#多線程在任何其他線程完成後添加線程
- 14. 將表添加到數據集由多個線程是線程安全的?
- 15. 在許多線程上添加項目到列表框時出錯
- 16. 使用線程複製主線程添加到字符串列表的文件
- 17. 如何將項目添加到線程列表中並保持添加順序?
- 18. 從不同的線程添加到列表
- 19. 將文本添加到線程的列表視圖
- 20. SimpleAdapter - 將新數據添加到列表,但在哪個線程?
- 21. 如何從其他線程添加項目到列表框?
- 22. 多線程用C鏈表++
- 23. C#sp2010將項目添加到列表
- 24. 將項添加到列表<> c#
- 25. C#如何添加到列表類?
- 26. 添加到列表C#結構
- 27. 將項目添加到C++列表中
- 28. 將列表添加到c#TreeView
- 29. 添加到列表中的c#
- 30. 將值添加到列表中 - NullPointerException C#
見'System.Collections.Concurrent'命名空間。你可以找到有用的東西。 –
你爲什麼認爲這是一個壞主意?互聯網上有很多例子。如果您遇到特定問題,請顯示您的代碼以及發生了什麼。 –