window sdk下的线程同步
CreateThread()创建线程函数, 返回一个线程的句柄;
closeHandle()将内核中线程的引用指数减 1 ;
CreateMutex() 函数创建一个互斥的对象用于线程的互斥, 互斥对象是属于内核的, 它能够确保线程拥有对单个资源的互斥访问权 ;
互斥对象包含一个使用量, 一个线程ID和 一个计数器, 其中ID表示系统中那个线程当前拥有该互斥对象, 计数器用于指明该线程拥有互斥对象的次数。计数器为零时才是真正的释放该
对象,也就有了信号,可以被其他线程获得该互斥对象。 当在一个线程中多次调用waitforsignalobject时, 该计数器不为1 应多次调用releaseMutex
waitforsignalobject(hmutex, INFINITE) ; 线程会等待hmutex处有信号状态, 线程才继续往下执行;
ReleaseMutex() 释放互斥对象的句柄, 释放互斥对象的所有权。当释放操作不是同一个线程来操作时为无效操作, 因为在该互斥对象内部有一个ID指明线程的ID
所以要谁获得谁释放。
阅读(1677) | 评论(0) | 转发(0) |