我使用2个线程作为产品/使用者使用双队列(http://www.codeproject.com/KB/threads/DoubleQueue.aspx)。有时候在我的第二个线程中,我得到一个NULL对象,但不应该像我在第一个线程中填充它。不为空的空对象
我尝试这样做:
if(myObject.Data == null)
{
Console.WriteLine("Null Object") // <-- Breakpoint here
}
当我将断点命中,我可以看myObject.Data的确是NULL,但是当我打F10,然后进入下一行(这是}
) myObject.Data是而不是 NULL。 我还增加了myObject的锁
如果之前....
,以确保没有人使用对子级这个对象。
这怎么可能,我该怎么办?
你锁定什么? – 2010-05-10 09:20:06