我收到堆栈空异常。如果堆栈不为空(有 16 个项目),这怎么可能?
我得到了错误的快照:
有人可以解释一下吗?
You must使用类似的东西时同步访问Stack<T>
。最简单的方法是使用lock
,然后您还可以使用lock
用于同步本身;所以流行音乐是:
int item;
lock (SharedMemory)
{
while (SharedMemory.Count == 0)
{
Monitor.Wait(SharedMemory);
}
item = SharedMemory.Pop();
}
Console.WriteLine(item);
和推将是:
lock (SharedMemory)
{
SharedMemory.Push(item);
Monitor.PulseAll(SharedMemory);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)