我有一些我正在使用的遗留代码,我遇到了一些对我来说没有意义的东西。
WaitHandle.WaitAny(AutoResetEventArray, System.Threading.Timeout.Infinite, False)
Do Until aListCount = 0
SyncLock ALockingObject
'doing some stuff
End SyncLock
Loop
我远不是线程专家,但我的理解是 WaitAny 会阻塞线程,直到接收到设置事件,所以我想知道 SyncLock 的目的是什么。有人可以解释我对线程的误解或代码以这种方式构造的原因吗?仅供参考 AutoResetEventArray 的大小为 1