Я использую 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 перед тем
если ....
, чтобы быть уверенным, что никто не whould использовать этот объект.
Как это возможно и что я могу сделать?
Что вы делаете? –