使用しているレガシー コードがいくつかあり、意味をなさないものに出くわしました。
WaitHandle.WaitAny(AutoResetEventArray, System.Threading.Timeout.Infinite, False)
Do Until aListCount = 0
SyncLock ALockingObject
'doing some stuff
End SyncLock
Loop
私はスレッディングの専門家とはほど遠いですが、WaitAny は設定されたイベントを受信するまでスレッドをブロックするので、SyncLock の目的は何なのか疑問に思っています。誰かが私のスレッドの誤解、またはコードがこのように構造化される理由を説明できますか? 参考までに、AutoResetEventArray のサイズは 1 です