我有一個由各種線程隨機更新的列表的共享實例(對象只能通過線程添加到它)。然後我有一個計時器,它可以根據一組標準從列表中刪除記錄 - 具體來說,如果記錄早於x分鐘,則執行該計時器。我發現的是,當我的系統擴展並且線程變得更多時,清理列表的方法將在它迭代它時隨機拋出異常。我認爲這是由於列表更新和刪除記錄之間的爭用所致。迭代完成時,防止異常情況的最佳方法是鎖定共享實例嗎?如果是這樣,那麼這樣做的負面影響是什麼。如果不是,還有什麼其他選擇?在多線程上維護集合的模型
我確定這是一個非常基本的問題,但我是線程問題的新手。