我有一个分组队列,当分组队列中有的数据不能处理
一个扫描周期为0。0001秒
按理说我
锁队列是没的问题的,但是当我释放队例的组中的时候,扫描周期
就直接把我队例组中的那条数据直接给我处理了,我是想释放完一个
组队例后才去处理,我的处理方式是以组,我给组标了一个头和尾。
放头是,尾还没发就被处理了,有N个组,数据量又大,但扫描周期必须为0。0001秒
我现在不清楚还有什么更好的方法,

解决方案 »

  1.   

    应该是典型的 读/写 问题吧...1. 扫描周期先去看看尾
    2. 可以采取线程间同步 比如使用关键代码 或 互斥量 <看你的规则,比如说一个组在只有从头到尾都发了<处理了>,LeaveCriticalSection... 
    3. 或者等你数据发完了<某一个组> 就发消息给扫描线程 通知其OK了
       或者 使用事件 ... 不过你需要注意的是
    你队列中正释放的某一组与扫描程序所处理的是同一组的时候 才应该同步,你的规则是这样么?