C++イベント通知スレッドの動作を設定する方法

1317 ワード

この例では、主スレッドがイベントステータスを「受信」に設定することによって、作業スレッドの作業を通知するC++イベント通知スレッドの動作を設定する方法について説明します.具体的な実現方法は以下の通りである.

   // eventDemo.cpp :              。  
  
// 
 
#include "stdafx.h" 
#include  
#include  
HANDLE g_event; 
 
UINT __stdcall ThreadProc(LPVOID) 

    ::WaitForSingleObject(g_event, INFINITE); 
    printf("in threadProc...
"); 
    return 0; 

int _tmain(int argc, _TCHAR* argv[]) 

    HANDLE hThread; 
    //  
    g_event = ::CreateEvent(NULL, FALSE, FALSE,NULL); 
    hThread = (HANDLE)::_beginthreadex(NULL, 0, ThreadProc,NULL, 0, NULL);
 
    // ,  
    printf("press anykey to let work thread start.."); 
    getchar(); 
    ::SetEvent(g_event); // ,  
 
    // ,  
    ::WaitForSingleObject(hThread, INFINITE); 
    printf("finished...
"); 
    ::CloseHandle(hThread); 
    ::CloseHandle(g_event); 
    return 0; 
}

本稿で述べたことが皆さんのC++プログラム設計に役立つことを願っています.