110,533
社区成员
发帖
与我相关
我的任务
分享
lock(myList)
return FindAll(myList, .......);
这类底层操作需要整体 lock。[/quote]
还有个问题,就是假如为了性能都不做lock,会产生什么错误和后果?(可以接受脏读,基本没有同时操作同一个对象的时候,ADDRemove的概率也很小,假如报错try、catch能捕获也行,只要不把系统弄崩溃就行)Task[] tasks = ........;
await Task.WhenAll(tasks);
Debug.Assert(checkResults(),"系统并发操作异常“);
而且每天会重复几百遍,比如说你中午吃饭的时候就可以让几十个测试用例重复实例化、且并行运行几万个测试,然后看最后的断言是否能发现是一亿分之一的数据不一致性。lock(myList)
return FindAll(myList, .......);
这类底层操作需要整体 lock。