随笔分类 - win32多线程
摘要:Event 方式是最具弹性的同步机制,因为他的状态完全由你去决定,不会像 Mutex 和 Semaphores 的状态会由类似:WaitForSingleObject 一类的函数的调用而改变,所以你可以精确的告诉 Event 对象该做什么事?以及什么时候去做!HANDLE CreateEvent( ...
        阅读全文
            
摘要:HANDLE WINAPI CreateSemaphore( _In_opt_ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes _In_ LONG lInitialCount, _In_ LONG lMaximumCount,...
        阅读全文
            
摘要:使用方法: 1、创建一个互斥器:CreateMutex; 2、打开一个已经存在的互斥器:OpenMutex; 3、获得互斥器的拥有权:WaitForSingleObject、WaitForMultipleObjects 等一类等待的函数……(可能造成阻塞); 4、释放互斥器的拥有权...
        阅读全文
            
摘要:关键区域(CriticalSection)临界区是为了确保同一个代码片段在同一时间只能被一个线程访问,与原子锁不同的是临界区是多条指令的锁定,而原子锁仅仅对单条操作指令有效;临界区和原子锁只能控制同一个进程中线程的同步使用方法:1、初始化:InitializeCriticalSection; 2、删...
        阅读全文
            
摘要:原子锁:当多个线程同时对同一资源进行操作时,由于线程间资源的抢占,会导致操作的结果丢失或者不是我们预期的结果。比如:线程A对一个变量进行var++操作,线程B也执行var++操作,当线程A执行var++时,如果线程切换时间恰好是线程A将结果存在var变量之前,那么线程B继续执行var++;此时假设v...
        阅读全文
            
                    
                
浙公网安备 33010602011771号