.NET 多线程编程:锁机制与读写架构解析
1. 使用独占锁
在 .NET 中使用独占锁时,意味着“只有一个线程可以执行这段代码”。若两个线程都想执行某段特定代码,一个线程会被授予访问权,另一个线程则需等待,直到获得访问权的线程退出代码块。需要明确的是,独占锁授予的是代码的访问权,而非数据的访问权,但代码可以访问数据。由于只有一个线程访问代码,也就意味着只有一个线程可以访问数据。
以下是使用独占锁的代码示例:
Module ThreadProblem
Dim elements As List(Of Integer) = New List(Of Integer)()
Sub Task1()
Thread.Sleep(1000)
SyncLock elements
Dim item As Integer
For Each item In elements
Console.WriteLine("Item (" & item & ")")
Thread.Sleep(1000)
Next
End SyncLock
End Sub
Sub Task2()
Thread.Sleep(1500)
SyncLock elements
elements.Add(30)
End SyncLock
End Sub
Sub Main()
超级会员免费看
订阅专栏 解锁全文
703

被折叠的 条评论
为什么被折叠?



