zoukankan      html  css  js  c++  java
  • 用户模式同步之事件小解

    事件(和WaitForSingleObject等待函数配套)
    如果我们要用事件一定记住的是利用CreateEvent(LPSECURITY,BOOL(手动or自动),BOOL(初始状态),LPCTSTR(NAME))

    初始化事件
    对于第二参数的手动还是自动选择自动就行,因为手动的话遇到WaitForSingleObject的时候还得自己设置变成未激发状态,自动
    的话当遇到WaitForSingleObject会自动变为未激发状态
    一般思路:
    1.初始化事件,
    2.事件返回的句柄作为参数传入线程
    3.然后在线程函数里面打印输出等操作,完了之后SetEvent设置事件激发即可
    4.记住最后WaitForSingleObject变为激发态等的是事件句柄!!

    伪代码:

    //自动下遇到WaitForSingleObject会自动变成未激发状态

    int main()
    {
    HANDLE EventHandle=CreateEvent(NULL,FALSE,FALSE,NULL);
    HANDLE ThreadHandle=(HANDLE)_beginthreadex (NULL,0,Thread,&EventHandle,0,NULL);
    WaitForSingleObject(EventHandle,INFINITE);
    return 0;
    }
    DWORD WINAPI Thread(LPVOID Para)
    {
    HANDLE* V1=(HANDLE*)Para;
    SetEvent(*V1);//事件设置激发
    printf("hello ");
    return 0;
    }

  • 相关阅读:
    DataGirdView 编辑项时的验证
    存储过程分面
    Android PopupWindow菜单
    Android ListView 中的checkbox
    Linq Group
    final关键字
    BroadcastReceiver
    Android Studio 快捷键
    Android Studio 基础知识
    黑客帝国代码雨实现
  • 原文地址:https://www.cnblogs.com/L-Sunny/p/8443416.html
Copyright © 2011-2022 走看看