【发布时间】:2011-04-22 06:19:00
【问题描述】:
我有一个由多个线程共享的对象列表,它有时会在尝试Clear 时生成 IndexOutOfRangeException。在寻找解决方案时,我发现我应该在访问列表时使用 SyncLock。
但我的问题是lockObject 在SyncLock 块中的重要性
例如同时清除myList
我可以用吗
Synclock myList
myList.Clear
End SyncLock
或者lockObject应该和myList不同?
编辑:
我对 sysnclock 的看法是“为指定为 lockObject 的对象获得锁定”。如果我将要清除的列表指定为 lockObject,编译器不应该在清除它之前获得对列表的独占访问权限吗?
【问题讨论】:
标签: .net vb.net multithreading synclock