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

win32 api Event

webgou16年前 (2011-03-08)编程开发205
[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” 的相关文章

FAT16/23 DBR 格式说明

Boot Sector and BPB Structure…

在ios上使用Google analytics

在ios上使用Google analytics,今天简单地测试了一下,总结: Google analytics使用分为普通web(移动web),及app(包括移动app).ios app访问记录,需要几个库: (libGoogleAnalytics.a,CFNetwork,libsqlite3.…

Java基于Socket文件传输示例

最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解。在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加快传输的速度。废话少说,先来看服务器端的程序。1.服务器端package sterning;impo…

Android术语列表概览

1,apk扩展名:apk是Android包的扩展名,一个Android包包含了与某个Android应用程序相关的所有文件,apk文件将 AndroidManifest.xml文件、应用程序代码(dex文件)、资源文件和其他文件组成一个压缩包,一个项目只能打包压缩成一个apk文件。2, dex扩展名:…

MacBook 常用快捷键

Mac OS X系统图形表示方法⇧ = shift⌃ = control⌥ = option / alt Home=fn + ◄ End=fn + ► Page Up=fn + ▲Page Down=fn + ▼ 删除后一个字符(普通键盘的Delete)=fn…

在Eclipse下安装C++插件CDT

按照eclipse的官方网站的要求,要下载如下的东东:1.eclipse(http://www.eclipse.org/downloads/index.php)…

发表评论

访客

看不清,换一张

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