CEvent的困惑 碰到这样的一个问题,在一个线程A里,启动另外两个线程B,C,这线程B,C都等待线程A里的一个CEvent对象E,当E有信号时,只有一个线程接收到,这是怎么回事啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把你的Event改成Manual-reset类型的。CEvent E(FALSE, TRUE); 我做了实验,应该没有问题,但是我用的Win32 API,而不是直接用CEvent类。DWORD __stdcall WorkThread1(LPVOID p){ HANDLE hEvent = *(HANDLE*)p; WaitForSingleObject(hEvent, -1); MessageBox(NULL, L"1", L"1", 0); return 0;}DWORD __stdcall WorkThread2(LPVOID p){ HANDLE hEvent = *(HANDLE*)p; WaitForSingleObject(hEvent, -1); MessageBox(NULL, L"2", L"2", 0); return 0;}void CE3Dlg::OnBnClickedButton1(){ m_hEvent = CreateEvent(NULL, TRUE, FALSE, L""); HANDLE h1 = CreateThread(NULL, 0, WorkThread1, (LPVOID)&m_hEvent, NULL, NULL); HANDLE h2 = CreateThread(NULL, 0, WorkThread2, (LPVOID)&m_hEvent, NULL, NULL);}void CE3Dlg::OnBnClickedButton2(){ SetEvent(m_hEvent);} FILE_FLAG_DELETE_ON_CLOSE参数不起效 如何在CDockablePane中显示一个子窗口,如显示一个对话框 关于定时器的认识,请高手指正! 关于像素小问题<100分> 一个Dll调用的问题 木板最优分割问题,计算机图形学高手请进。总分300,分三个帖子给分 求字符串变整数的函数 如何处理窗体的TitleBar. 关于收包解包的问题 请教:CListCtrl类中所涉及的结构LV_ITEM中iItem和iSubItem的具体含义是什么? JPEG格式详尽信息 listctrl列表查找问题
DWORD __stdcall WorkThread1(LPVOID p)
{
HANDLE hEvent = *(HANDLE*)p;
WaitForSingleObject(hEvent, -1);
MessageBox(NULL, L"1", L"1", 0);
return 0;
}DWORD __stdcall WorkThread2(LPVOID p)
{
HANDLE hEvent = *(HANDLE*)p;
WaitForSingleObject(hEvent, -1);
MessageBox(NULL, L"2", L"2", 0);
return 0;
}void CE3Dlg::OnBnClickedButton1()
{
m_hEvent = CreateEvent(NULL, TRUE, FALSE, L"");
HANDLE h1 = CreateThread(NULL, 0, WorkThread1, (LPVOID)&m_hEvent, NULL, NULL);
HANDLE h2 = CreateThread(NULL, 0, WorkThread2, (LPVOID)&m_hEvent, NULL, NULL);
}void CE3Dlg::OnBnClickedButton2()
{
SetEvent(m_hEvent);
}