private List<Client> _selectedClientList;
... ... ...
private void ExecuteRemove(Address address)
{
List<Client> clientsPerCountry = _selectedClientList.Where(p => p.Address != null && p.Address.Country == address.Country).ToList();
... ... ...
}
我是線程同步的新手,所以不要粗暴對我。 _selectedClientList
是一個保存客戶端對象的私有字段。 ExecuteRemove
查詢_selectedClientList
,根據它的參數創建客戶端列表,但不修改_selectedClientList
。所以,當ExecuteRemove
被多線程調用時,我是否需要鎖定_selectedClientList
?鎖定集合時,它不會被修改,但查詢
如果不是,不同線程如何訪問_selectedClientList
。我的意思是,當一個線程執行查詢並且第二個線程嘗試訪問它時,究竟發生了什麼?
如果我有任何幫助,你能接受嗎? – pid