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