两个线程,一个不断Enqueue(object),一个不断Dequeue(),结果会造成数据丢失,请教各位有什么好办法没? 两个线程,一个不断Enqueue(object),一个不断Dequeue(),结果会造成数据丢失,请教各位有什么好办法没? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Enqueue(object)和Dequeue()有什么联系没 有什么规律没 这样的,在一个函数中: private void ReceiveData() { lock (pQueue) { pQueue.Enqueue(PlaneData); } }在另外一个函数中: private void RenderData() { while(pQueue.Count>0) { lock (pQueue) { PlaneData = (PlaneDataStructer)pQueue.Dequeue(); } } }我会出现数据丢失的问题 ,麻烦各位大侠告诉我怎么办啊 ? 哦 这两段代码分别是在两个线程中执行的 查了一下资料我想用Monitor能不能 解决问题 同意eeeren 在这里 队列是临界资源(操作系统基本概念),所以需要对不同的线程进行同步。在java中有synchronized关键字,在.net中只能通过加锁等同步方法使对临界资源读取串行化。 I CALL!我又遇难了!dataGridView1.SelectionChanged 执行两次问题! 一个数据库ED,让ED“分离”和“脱机”有什么区别,这两个SQL语句如何写 datagridview怎样显示隐藏掉的行 使用showModalDialog 父窗体变成空白 初学者 请问,如果动态调用一个dll文件,那么它里面的ref参数应如何传递呢。 为什么指定service服务启动类型为手动无效. 如何编写一段检测图像文件夹有新图片加入,就作出响应改变的程序? 放分 读取config文件问题 时间差问题 关于存储过程查询的问题,请大虾们帮忙,小弟多谢了
private void ReceiveData()
{
lock (pQueue)
{
pQueue.Enqueue(PlaneData);
}
}
在另外一个函数中:
private void RenderData()
{
while(pQueue.Count>0)
{
lock (pQueue)
{
PlaneData = (PlaneDataStructer)pQueue.Dequeue();
}
}
}我会出现数据丢失的问题 ,麻烦各位大侠告诉我怎么办啊 ?