使用事件问题同步

时间:2014-03-07 18:00:31

标签: c++ multithreading

我有一个程序p1,它启动2个线程,t1和t2。

t1启动一个事件并无所事事地等待信号(c ++ / CLI)

t2是一个COM客户端,它与COM服务器通信, COM服务器将打开/创建同一事件的句柄,并发送信号,(c ++)

问题是,即使COM服务器成功发送信号,t1也无法捕获信号,它只是空闲等待。

相关守则: T1:

String^ eventName1 = "eventName1";
EventWaitHandle^ event1 = gcnew EventWaitHandle(false,EventResetMode::ManualReset, eventName1);
bool tag =  event1->WaitOne(10000,true);  // This never returns..
Log_(tag);

COM服务器:

wchar_t * eventName1 = "eventName1";
HANDLE event1 = CreateEvent(NULL,true,false,eventName1);  // or use event1 = OpenEventW(EVENT_MODIFY_STATE,0,eventName1); makes no diff
SetEvent(event1);

由于

0 个答案:

没有答案