【发布时间】:2012-09-27 18:57:42
【问题描述】:
我只是想确保我正确理解了 SyncLock。鉴于以下代码,是否可以肯定地说这些块中的任何一个都不会同时执行?或者可以肯定地说在执行任何这些块期间不会执行其他代码?我无法理解 SyncLock 究竟做了什么以及为什么它需要一个随机对象来锁定?
Dim PADLOCK As Object = New Object()
A区:
SyncLock PADLOCK
'...Code
End SyncLock
B座:
SyncLock PADLOCK
'...Code
End SyncLock
C区:
SyncLock PADLOCK
'...Code
End SyncLock
【问题讨论】:
-
albahari.com/threading/part2.aspx#_Locking(用 C# 编写的示例,但
lock关键字与 Visual Basic 中的SyncLock相同)。
标签: .net multithreading synchronization