自动重置事件+临界区实现线程间同步
来源:互联网 发布:hdmi网络传输器 音频 编辑:程序博客网 时间:2024/06/05 20:30
该示例与上一篇的《手动重置事件+临界区实现线程间同步》的不同点就是事件的类型不同,并且不需要调用ResetEvent函数
#include <iostream>#include <Windows.h>using namespace std;int g_count = 0;HANDLE hEvent = NULL;CRITICAL_SECTION g_cs;DWORD WINAPI ThreadProc(PVOID pParam){int nThreadNum = *(int *)pParam;SetEvent(hEvent);Sleep(50);EnterCriticalSection(&g_cs);++g_count;cout << "线程编号为" << nThreadNum << " 全局资源为" << g_count << endl;LeaveCriticalSection(&g_cs);return 0;}int main(int argc, char *argv[]){hEvent = CreateEvent(0,FALSE,FALSE,0);// 创建自动重置事件InitializeCriticalSection(&g_cs);HANDLE hThreads[10];for (int i = 0 ; i < 10 ; ++i){hThreads[i] = CreateThread(0,0,ThreadProc,&i,0,0);WaitForSingleObject(hEvent,INFINITE);// 提示:这里并没有调用ResetEvent函数来重置事件的未触发状态}WaitForMultipleObjects(10,hThreads,TRUE,INFINITE);for (int i = 0 ; i < 10 ; ++i){CloseHandle(hThreads[i]);}DeleteCriticalSection(&g_cs);CloseHandle(hEvent);return 0;}
0 0
- 自动重置事件+临界区实现线程间同步
- 手动重置事件+临界区实现线程间的同步
- 多线程火车票售票系统——自动重置事件对象实现线程同步
- 同步事件,信号量,互斥,临界区,线程,线程池C++实现(win32,linux)
- 信号量+临界区实现线程间的同步
- 临界区实现线程同步互斥
- 多线程实现线程同步~~临界区对象
- 多线程实现线程同步~~临界区对象
- 线程同步-临界区
- 线程同步-临界区
- (转)临界区,互斥量,信号量,事件的区别(线程同步)
- (转)临界区,互斥量,信号量,事件的区别(线程同步)
- 临界区,互斥量,信号量,事件的区别(线程同步)
- 临界区,互斥量,信号量,事件的区别(线程同步)
- 临界区,互斥量,信号量,事件的区别(线程同步) 收藏
- 临界区,互斥量,信号量,事件的区别(线程同步)
- (转)临界区,互斥量,信号量,事件的区别(线程同步)
- (转)临界区,互斥量,信号量,事件的区别(线程同步)
- 双击实体弹出对话框(重载AcDbDoubleClickEdit)
- unity中的http通信
- MyEclipse 2015优化技巧
- MVC缓存依赖:文件依赖
- 详谈 Unity3D 利用 Webservice 读取数据库
- 自动重置事件+临界区实现线程间同步
- 安卓基础 论MediaPlayer的应用(一)
- iOS HTTP Range 使用
- BaseAdapter解决OOM问题
- Unity网络多玩家游戏开发教程第1章Unity自带网络功能
- ViewPager的setOnPageChangeListener方法详解
- 为通过6级准备的34天计划
- c
- 图解排序算法