我有一个这样的代码:
我们的一些客户在以下代码块中收到“System.Threading.Monitor.Enter中的System.ArgumentNullException”:
Public Class CheckStuff
Private Shared SLock As New Object
Public Sub GetIt()
Synclock SLock
DoSomething()
End Synclock
End Sub
End Class
这怎么可能?考虑到SLock
是共享的,从未接触过任何其他地方?
答案 0 :(得分:1)
我的猜测是你已经过度简化了示例代码 - 必须从其他内容触及它才能使其成为Nothing
。或者,在CheckStuff
完成初始化之前调用锁定方法。堆栈跟踪会有所帮助。
答案 1 :(得分:0)