- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例 两个线程分别有一个初值为0的int局部变量,两个线程的行为是在一个循环中,使整型变量递增 一个约束条件,在递增过程中,这两个值的差不超过5 #include windows.h HANDLE hEvent1, hEvent2; int a[ 5 ]; DWORD WINAPI Thread(PVOID pParams ) { int i, num = 0; while( TRUE ) { WaitForSingleObject( hEvent2, INFINITE ); for ( i = 0; i 5; i++ ) a[ i ] = num; SetEvent( hEvent1 ); num++; } return 0; } 事件 int main() { hEvent1 = CreateEvent( NULL, FALSE, TRUE, NULL ); hEvent2 = CreateEvent( NULL, FALSE, FALSE, NULL ); CreateThread( NULL,0,Thread, NULL,0, NULL ); while( TRUE ) { WaitForSingleObject( hEvent1, INFINITE ); printf(%d %d %d %d %d\n, a[ 0 ], a[ 1 ], a[ 2 ], a[ 3 ], a[ 4 ] ); SetEvent( hEvent2 ); } return 0; } 事件 5、信号量 信号量是一个内核对象,可用来管理大量有限的系统资源 一个使用计数 32位整数,最大资源数量 32位整数,当前资源数量 信号量使用规则: 当前资源数量大于0,则等待信号量的线程获得资源继续运行,当前资源数量减1 当前资源数量等于0,则等待信号量的线程继续等待,直到有线程释放信号量,使当前资源数量大于0 创建信号量 5、信号量 HANDLE CreateSemaphore( PSECURITY_ATTRIBUTES psa, LONG lInitialCount, // initial count LONG lMaximumCount, // maximum count PCTSTR pszName // object name ); 为现有的一个已命名信号机对象创建一个新句柄。 5、信号量 HANDLE OpenSemaphore( DWORD fdwAccess, BOOL bInheritHandle, // inheritance option PCTSTR pszName // object name ); SEMAPHORE_ALL_ACCESS 要求对信号量的完全访问; SEMAPHORE_MODIFY_STATE 允许使用ReleaseSemaphore函数; SYNCHRONIZE 允许使用信号量同步。 #include “windows.h“ 例2 CRITICAL_SECTION g_cs; char g_cArray[10]; // 共享资源 DWORD WINAPI ThreadProc1(PVOID pParam) { EnterCriticalSection(g_cs); // 对共享资源进行写入操作 for (int i = 0; i 10; i++) { g_cArray[i] = a; Sleep(1); } LeaveCriticalSection(g_cs); return 0; } DWORD WINAPI ThreadProc2(PVOID pParam) { // 进入临界区 EnterCriticalSection(g_cs); // 对共享资源进行写入操作 for (int i = 0; i 10; i++) { g_cArray[10 - i - 1] = b; Sleep(1); } // 离开临界区 LeaveCriticalSection(g_cs); return
您可能关注的文档
- LG盛世信达办公用品--营销推广选编.ppt
- Caramba品牌1选编.ppt
- 2015最新版北师大版六数下册图形的旋转一选编.ppt
- 2015最新第一节欧洲宗教改革的历史背景选编.ppt
- CASE工具选编.ppt
- LIFO长处管理与长处发展应用选编.ppt
- linux5第二章2选编.ppt
- CA认证技术选编.ppt
- linux5第二章选编.ppt
- 2015最新人教版六年级数学下册折扣、成数选编.ppt
- 2026年及未来5年半圆门顶项目市场数据调查、监测研究报告.docx
- 人教版九年级语文武陵春.ppt
- 护理实施中的急救护理.pptx
- 酒店案例分析.ppt
- 2025山西大同市消防救援支队面向社会招录政府专职消防员116人备考题库及答案详解(典优).docx
- 2025山西大同市消防救援支队面向社会招录政府专职消防员116人备考题库及答案详解(全国通用).docx
- 河南省信阳市羊山中学2025-2026学年九年级(上)第三次适应性化学试卷(含答案).pdf
- 2026年及未来5年灯具锁光圈项目市场数据调查、监测研究报告.docx
- 2025山西大同市消防救援支队面向社会招录政府专职消防员116人备考题库及答案详解(全国通用).docx
- 创新驱动背景下农林管理课程内容的整合与创新.docx
最近下载
- DIY烟油配方整理.xlsx VIP
- 2025中数联物流科技(上海)有限公司招聘笔试备考试题及答案解析.docx VIP
- 2025中国数联物流纪委办公室、巡视办公室相关岗位招聘笔试模拟试题及答案解析.docx VIP
- 开利VRV空调样册B-XCT-38VP-202106-02.pdf VIP
- 七年级(上)生物分组实验教案.pdf VIP
- 江苏省淮安市洪泽区洪泽外国语中学2024-2025学年九年级下学期3月月考语文试题(原卷版+解析版).docx VIP
- 2026年护士护理个人工作计划(三篇).pdf VIP
- 赤城县非凡矿业有限责任公司矿山地质环境保护与土地复垦方案.pdf VIP
- 2025《水下清淤机器人的结构方案设计》13000字(论文).docx
- [硕士]宣钢近北庄铁矿滑坡机理及稳定性分析.pdf VIP
原创力文档


文档评论(0)