zoukankan      html  css  js  c++  java
  • 事件g_Events

    // Events.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <iostream>
    #include <WinSock2.h>
    #include <Windows.h>
    
    using namespace std;
    
    HANDLE g_Events[2] = {0};
    
    
    UINT32 _stdcall CallBack(LPVOID lParam);
    int _tmain(int argc, _TCHAR* argv[])
    {
        //HANDLE ThreadHandle = CreateThread();
        //内核对象,返回值为句柄,并且配有安全属性
        //一般对象,返回值为句柄
                                        //自动 未授信  匿名
        g_Events[0] = CreateEvent(NULL,TRUE,FALSE,NULL);
        g_Events[1] = CreateEvent(NULL,TRUE,FALSE,NULL);
    
    
        HANDLE ThreadHandle = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)CallBack,NULL,0,NULL);
    
        int i = 0;
        for(i=0;i<20;i++)
        {
            printf("Main()
    ");
            if(i==3)
            {
                SetEvent(g_Events[0]); //NO-->YES
                //Sleep(1);
    
                WaitForSingleObject(g_Events[1],INFINITE);
                //ResetEvent(g_Events[0]); //YES-->NO
            }
        }
        Sleep(INFINITE);
        return 0;
    }
    
    
    UINT32 _stdcall CallBack(LPVOID lParam)
    {
        int i = 0;
        //等待事件A授信
        WaitForSingleObject(g_Events[0],INFINITE);
    
        printf("SubMain()
    ");
        //ResetEvent(g_Events[0]);
        WaitForSingleObject(g_Events[0],INFINITE);
        SetEvent(g_Events[1]);
        printf("SubMain()
    ");
        return 0;
    }
  • 相关阅读:
    (zt)再给正直一次机会(最新进展)
    迁勇
    一本书、四部电影
    巴乔到北京了
    MLDN
    (zt)沉默是美德(转自连岳)
    十分钟
    不推荐两部电影
    Project Processing ...... Requirement
    Oracle Data Guard Linux 平台 Logical Standby 创建实例
  • 原文地址:https://www.cnblogs.com/littlepear/p/5695394.html
Copyright © 2011-2022 走看看