当前位置:首页 > 编程开发

win32 api Event

webgou16年前 (2011-03-08)编程开发221
[CODE_LITE] include "stdafx.h" include "MyEvent.h" ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[] = __FILE__; endif ///////////////////////////////////////////////////////////////////////////// // The one and only application object CWinApp theApp; using namespace std; DWORD threadA(void* pD) { int iID=(int)pD; //ÔÚÄÚ²¿ÖØÐ´ò¿ª HANDLE hCounterIn=OpenEvent(EVENT_ALL_ACCESS,FALSE,"My Try"); printf("\tthread %d begin\n",iID); //ÉèÖóÉΪÓÐÐźÅ״̬ Sleep(1000); SetEvent(hCounterIn); Sleep(1000); printf("\tthread %d end\n",iID); CloseHandle(hCounterIn); return 0; } DWORD threadB(void* pD) { //µÈ´ýthreadA½áÊøºóÔÙ¼ÌÐøÖ´ÐÐ int iID=(int)pD; //ÔÚÄÚ²¿ÖØÐ´ò¿ª HANDLE hCounterIn=OpenEvent(EVENT_ALL_ACCESS,FALSE,"My Try"); if(WAIT_TIMEOUT == WaitForSingleObject(hCounterIn,10*1000)) { printf("\t\tthread %d wait time out\n",iID); } else { printf("\t\tthread %d wait ok\n",iID); } CloseHandle(hCounterIn); return 0; } void main() { HANDLE hCounter=NULL; if( (hCounter=OpenEvent(EVENT_ALL_ACCESS,FALSE,"My Try"))==NULL) { //Èç¹ûûÓÐÆäËû½ø³Ì´´½¨Õâ¸öʼþ£¬ÔòÖØÐ´´½¨£¬¸ÃʼþΪÈ˹¤ÖØÖÃʼþ hCounter = CreateEvent(NULL,TRUE,FALSE,"My Try"); } //´´½¨Ïß³Ì HANDLE hThread[3]; printf("test of manual rest event\n"); CWinThread* pT1=AfxBeginThread((AFX_THREADPROC)threadA,(void*)1); CWinThread* pT2=AfxBeginThread((AFX_THREADPROC)threadB,(void*)2); CWinThread* pT3=AfxBeginThread((AFX_THREADPROC)threadB,(void*)3); hThread[0]=pT1->m_hThread; hThread[1]=pT2->m_hThread; hThread[2]=pT3->m_hThread; //µÈ´ýÏ߳̽áÊø WaitForMultipleObjects(3,hThread,TRUE,INFINITE); //¹Ø±Õ¾ä±ú CloseHandle(hCounter); if( (hCounter=OpenEvent(EVENT_ALL_ACCESS,FALSE,"My Try"))==NULL) { //Èç¹ûûÓÐÆäËû½ø³Ì´´½¨Õâ¸öʼþ£¬ÔòÖØÐ´´½¨£¬¸ÃʼþΪ×Ô¶¯ÖØÖÃʼþ hCounter = CreateEvent(NULL,FALSE,FALSE,"My Try"); } //´´½¨Ïß³Ì printf("test of auto rest event\n"); pT1=AfxBeginThread((AFX_THREADPROC)threadA,(void*)1); pT2=AfxBeginThread((AFX_THREADPROC)threadB,(void*)2); pT3=AfxBeginThread((AFX_THREADPROC)threadB,(void*)3); hThread[0]=pT1->m_hThread; hThread[1]=pT2->m_hThread; hThread[2]=pT3->m_hThread; //µÈ´ýÏ߳̽áÊø WaitForMultipleObjects(3,hThread,TRUE,INFINITE); //¹Ø±Õ¾ä±ú CloseHandle(hCounter); } [/CODE_LITE] 来源:PUDN

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=437

分享给朋友:

“win32 api Event” 的相关文章

WinCE下直接启动应用程序的方法

其实让一个程序在wince里启动和windows里差不多,直接设置其为启动项,这个有几个方法。一个就是制作一个快捷方式,指向我们的应用程序如app.exe,然后将快捷方式放到\windows\startup下面。...…

如何查询mysql中执行效率低的sql语句

内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种....…

AppStore 内购验证的方法

AppStore 内购验证的方法…

Unity + HybridCLR 社区版下 UniTask 泛型 AOT 问题排查记录

最近在接入小七 GameSDK 登录流程时,Android 真机上遇到了 HybridCLR + UniTask 的 AOT 泛型缺失问题。这里记录一下问题现象、排查过程和最终处理方案。问题现象真机日志里出现类似错误:AOT generic method not&nbs…

10条基本的工作要点

  刚刚走上社会的年轻人,充满了蓄势待发的豪情、青春的朝气、前卫的思想,梦想着丰富的待遇和轰轰烈烈的事业。可是,社会毕竟是一所包罗万象、喧嚣复杂的大学校,这里没有寒暑假,拒绝虚假和肤浅,更拒绝空想和庸碌,难以预告何时开课何时放学。 如何在涉世之初少走弯路,有一个好的开头。好好地遵循、把…

汉字编码

一、汉字编码的种类     汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。...…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。