多线程之Event
来源:互联网 发布:linux禁止外传文件 编辑:程序博客网 时间:2024/05/19 13:58
#include <iostream>#include <process.h>#include <windows.h>long g_count = 0;long g_sum = 0;static const int g_s_Count = 10;CRITICAL_SECTION g_csThreadParamer;CRITICAL_SECTION g_csThreadCode;HANDLE g_threadEvent;unsigned int WINAPI ThreadFunc(void *p) { int nThreadNum = *(int *)p; Sleep(50); EnterCriticalSection(&g_csThreadCode); g_count++; printf("线程编号: %d, 全局资源值为: %d\n", nThreadNum, g_count); LeaveCriticalSection(&g_csThreadCode); SetEvent(g_threadEvent); return 0;}int main(void) { std::cout << "Create the Thread" << std::endl; g_threadEvent = CreateEvent( NULL, FALSE, FALSE, NULL); InitializeCriticalSection(&g_csThreadCode); HANDLE threadHandle[g_s_Count]; for(int i = 0; i < g_s_Count; ) { threadHandle[i] = (HANDLE)_beginthreadex(NULL, 0, ThreadFunc, &i, 0, NULL); WaitForSingleObject(g_threadEvent, INFINITE); //很好的实现线程同步和互斥 ++i; } WaitForMultipleObjects(g_s_Count, threadHandle, true, INFINITE); for(int i = 0; i < g_s_Count; ++i) { CloseHandle(threadHandle[i]); } DeleteCriticalSection(&g_csThreadCode); std::cout << "Thread Ending" << std::endl; return 0;}
0 0
- 多线程Event之详解
- 多线程之Event
- Python多线程之event
- Python多线程之threading Event
- day11_python多线程之event代码
- Windows中多线程同步之事件(Event)
- python 多线程之信号机Semaphore、事件Event
- 多线程同步之Event(事件对象)
- Win32多线程之事件(Event Objects)
- C++多线程同步之事件(Event)
- Event多线程
- 多线程---event
- 多线程Event
- 多线程编程(13) - 多线程同步之 Event (事件对象)
- Java多线程之"事件分发线程"----Event Dispatch Thread
- 多线程之六 经典线程同步 事件Event
- 多线程五 经典线程同步之事件Event
- Java多线程之"事件分发线程"----Event Dispatch Thread
- Android编译过程详解 -1
- 保留我的
- Denoise auto-encoder的一个理解
- 采用shell操作data目录文件
- 发文的感觉
- 多线程之Event
- Android Touch事件分发过程
- 什么是IIS?
- 安卓模拟器genymotion
- Cocos2d-x 程序是如何开始运行与结束的
- linux:dropwatch 网络协议栈丢包检查利器
- 发布后,分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
- 腾讯大佬:微信支付不是机关枪
- 超管CA企业版