Public _objLock As Object = New Object
Public ReadOnly Property MyObjects() As IEnumerable(Of Object)
Get
SyncLock _objLock
If _myObjects Is Nothing Then
_myObject = LoadMyObjects()
End If
Return _myObjects
End SyncLock
End Get
End Property
Run Code Online (Sandbox Code Playgroud)
Public _objLock As Object = New Object
Public ReadOnly Property MyObjects() As IEnumerable(Of Object)
Get
SyncLock _objLock
If _myObjects Is Nothing Then
_myObject = LoadMyObjects()
End If
End SyncLock
Return _myObjects
End Get
End Property
Run Code Online (Sandbox Code Playgroud)
这些实现之间会有什么区别吗?
不,在锁内返回没有任何区别.一旦你离开锁,它将不复存在.