CE5.0下的多线程同步问题
在CE5.0下实验多线程同步。实现了3个死循环的子线程,用Event事件来同步。子线程1需要等待子线程2和子线程3对数据的操作完成后才开始下一次的循环。
我在子线程1中使用WaitForMultipleObjects(2,hEvent,TRUE,INFINITE)来等待,其中HANDLE hEvent[2]是这样定义的。结果发现:
子线程1,WaitForMultipleObjects根本就没有等待子线程2的通知事件,一直在循环。子线程3也一直循环。
后来将WaitForMultipleObjects修改如下
WaitForSingleObject(hEvent[0],INFINITE);
WaitForSingleObject(hEvent[1],INFINITE);
就得到我想要的结果了。
这是为什么?从逻辑上讲,这两种方式应该是一样的吧。
难道是我用的这个CE5.0不支持WaitForMultipleObjects?
还望高人帮我分析一下。
[解决办法]
有点怪,如果能把你所有的代码贴出来就好分析了
btw:CE5.0支持WaitForMultipleObjects
[解决办法]