- 1
- 0
- 约1.14万字
- 约 45页
- 2017-06-19 发布于湖北
- 举报
同步对象 互斥的引入(错误例子) #include iostream.h #include windows.h HANDLE thread1; HANDLE thread2; int tickets=100; DWORD WINAPI Thread1Proc(LPVOID lparam); DWORD WINAPI Thread2Proc(LPVOID lparam); void main(){ thread1=CreateThread(NULL,0,Thread1Proc,NULL,0,NULL); thread2=CreateThread(NULL,0,Thread2Proc,NULL,0,NULL); Sleep(40000); CloseHandle(thread1); CloseHandle(thread2); } DWORD WINAPI Thread1Proc(LPVOID lparam){ int t; while(tickets0){ t=tickets; Sleep(100); coutThread1 sell:t--endl; tickets=t; } return 0; } DWORD WINAPI Thread2Proc(LPVOID lparam){ int t; while(tickets0){ t=tickets; Sleep(100); coutThread2 sell:t--endl; tickets=t; } return 0; } 互斥对象 互斥对象是一个内核对象,它能够确保一个线程对单个资源的互斥访问权 拥有使用数量、一个线程ID和一个计数器 线程ID用来指明哪个线程当前拥有访问权,计数器用来指明该线程拥有互斥对象的次数 互斥对象相关函数 HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, //继承属性,可以为空 BOOL bInitialOwner, //创建后是否立即拥有访问权 LPCTSTR lpName ); //互斥对象的名字,为NULL则为匿名互斥对象 功能:创建一个命名或匿名的互斥对象,返回句柄 函数返回值: 如对象已存在,则返回原来存在的对象句柄,创建成功返回新句柄,创建失败返回NULL 互斥对象相关函数 DWORD WaitForSingleObject( HANDLE hHandle, //互斥对象句柄 DWORD dwMilliseconds ); //等待时间 功能:等待获取互斥对象的访问权,未获取之前会一直等待,或用完dwMilliseconds为止, dwMilliseconds可以为0-INFINITE 一旦一个线程获取了访问权,函数会把互斥对象置为不可用状态 函数返回值为: WAIT_OBJECT_0 获得拥有权, WAIT_TIMEOUT等待超长, WAIT_ABANDONED 前拥有者异常终止 互斥对象相关函数 DWORD WaitForMultipleObjects( DWORD nCount,//数组中句柄个数 const HANDLE* lpHandles, //对象句柄数组 BOOL bWaitAll, //是否等待全部 DWORD dwMilliseconds ); 互斥对象相关函数 BOOL ReleaseMutex( HANDLE hMutex ); 功能:释放对互斥对象的访问权,使互斥对象处于有信号(可用)状态 使用互斥量后的程序 #include iostream.h #include windows.h HANDLE thread1; HANDLE thread2; int tickets=100; DWORD WINAPI Thread1Proc(LPVOID lparam); DWORD WINAPI Thread2Proc(LPVOID lparam); HANDLE hMutex; void main(){ thread1=CreateThread(NULL,0,Thread1Proc,NULL,0,NULL); thread2=CreateThread(NULL,0,Thread2Proc,NULL,0,NULL); hMutex=CreateMutex(NULL,false,NULL); while(tickets0)Sleep(1000); CloseHandle(thread1); CloseHandle(thread2); } DWORD WINAPI Thread1Proc(LPVOID lparam){ int t
您可能关注的文档
最近下载
- 2025年版维医医师资格考试大纲.docx VIP
- 常用汉字表(2500字).pdf VIP
- 高中英语2025届高考热点环保主题作文素材(词汇+模板).doc VIP
- 2026年春季统编版(部编版)2024新教材二年级下册道德与法治教学计划、教学设计及教学反思(附目录).docx
- 高中英语2025届高考热点青少年心理健康主题作文固定搭配短语汇总.doc VIP
- (2025春)部编版一年级下册道德与法治全册教案 (新版本).docx
- 国家电网招聘考试综合能力(判断推理)模拟试卷2.docx VIP
- 运动损伤与康复-全套PPT课件.pptx
- 凌文铨组织承诺问卷.doc VIP
- 医美整形现场咨询绝对成交技巧话术.docx VIP
原创力文档

文档评论(0)