我在一个线程开始时需要等待两个事件,我用了waitformultpleobjects,
但是对handle数组的定以及赋值不太清楚。
另外,一个事件已经set了以后,再set会不会有问题?

解决方案 »

  1.   

    handle events[2]={event1,event2};
    一个事件已经set了以后,再set会不会有问题?
    处理不及可能丢一次set!~
      

  2.   

    HANDLE hd[2]={event1.HANDLE(), event2.HANDLE()};
    如果set了两次
    就要reset两次
      

  3.   

    那么可以在set之前检查一下,事件是什么状态吗?
      

  4.   

    你应该用waitformultiobject等待某些线程把cevent reset
    如果满足条件:setevent();
    进入某些处理;
    resetevent();这样才能保证临界区的作用
    同时set之前也不用检查event的状态
      

  5.   

    siphonlee:你的方法不对阿。
    另外,我确实需要在set前检查事件状态。