zoukankan      html  css  js  c++  java
  • 19.事件

    • 创建事件
      1 HANDLE event[3] = { 0 };
    • 创建线程
      1 HANDLE hthread[3] = { 0 };
    • 事件初始化
      1 event[0] = CreateEvent(NULL, TRUE, FALSE, NULL);
      2     //第一个参数,指定一个结构,用于设置对象的安全特性
      3     //第二个参数,如果为TRUE,表示创建一个人工重设事件,如果为FALSE,创建一个自动重设事件
      4     //第三个参数,如事件应内部进入触发状态,则为TRUE
      5     //第四个参数,指定事件对象的名字,NULL为匿名
    • 创建线程
      1 hthread[0] = CreateThread(NULL, 0, firstthread, NULL, 0, NULL);
      2 hthread[1] = CreateThread(NULL, 0, secondthread, NULL, 0, NULL);
    • 发送事件
      1 DWORD WINAPI firstthread(void *p)
      2 {
      3     printf("第一个线程执行完成
      ");
      4     //发送事件
      5     SetEvent(event[0]);
      6     return 0;
      7 }
    • 接受事件
      1 WaitForSingleObject(event[0],INFINITE);//等待event信号出现

    完整代码:

     1 #include <Windows.h>
     2 #include <stdio.h>
     3 #include <stdlib.h>
     4 
     5 //事件
     6 HANDLE event[3] = { 0 };
     7 //线程
     8 HANDLE hthread[3] = { 0 };
     9 
    10 DWORD WINAPI firstthread(void *p)
    11 {
    12     printf("第一个线程执行完成
    ");
    13     //发送事件
    14     SetEvent(event[0]);
    15     return 0;
    16 }
    17 
    18 
    19 DWORD WINAPI secondthread(void *p)
    20 {
    21     WaitForSingleObject(event[0],INFINITE);//等待event信号出现
    22     printf("第二个线程执行完成
    ");
    23     return 0;
    24 }
    25 
    26 void main()
    27 {
    28     event[0] = CreateEvent(NULL, TRUE, FALSE, NULL);
    29     //第一个参数,指定一个结构,用于设置对象的安全特性
    30     //第二个参数,如果为TRUE,表示创建一个人工重设事件,如果为FALSE,创建一个自动重设事件
    31     //第三个参数,如事件应内部进入触发状态,则为TRUE
    32     //第四个参数,指定事件对象的名字,NULL为匿名
    33     event[1] = CreateEvent(NULL, TRUE, FALSE, NULL);
    34 
    35     hthread[0] = CreateThread(NULL, 0, firstthread, NULL, 0, NULL);
    36     hthread[1] = CreateThread(NULL, 0, secondthread, NULL, 0, NULL);
    37 
    38     WaitForMultipleObjects(2, hthread, TRUE, INFINITE);
    39     printf("全部完成
    ");
    40     system("pause");
    41 }
  • 相关阅读:
    ecshop 浏览历史样式的修改
    onmouseover 执行 ToolTip 控件
    e​c​s​h​o​p​模​板​ l​b​i​文​件
    JS中 document.getElementById 对象
    JS CSS 网页 简单 右侧 悬浮
    css 简单 返回顶部 代码及注释说明
    php截取等长UFT8中英文混合字串
    Smarty中模板eq相等 ne、neq不相等, gt大于, lt小于
    iOS UI-集合视图(UICollectionView)
    iOS UI-表格控制器(UITableView)-基本使用
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8406129.html
Copyright © 2011-2022 走看看