Wons' Blog

个人博客

Android程序猿


回首向来萧瑟处,也无风雨也无晴

Windows下多线程/进程互斥与同步机制

Windows操作系统为多线程/进程编程提供了多种互斥与同步机制:

1.临界区(CriticalSection)

API: InitializeCriticalSection, DeleteCriticalSection, EnterCriticalSection, LeaveCriticalSection

此机制具有线程所有权特性,持有临界区的线程可以重复进入临界区

2.互斥锁(Mutex)

API: CreateMutex, OpenMutex, ReleaseMutex

此机制也具有线程所有权

3.事件(Event)

API: CreateEvent, OpenEvent, SetEvent, ResetEvent, WaitForSingleObject

4.信号量(Semaphore)

API: CreateSemaphore, OpenSemaphore, ReleaseSemaphore

最近的文章

Windows下从dll中导出lib文件

在Windows平台上使用MSYS编译一些开源代码时经常只会生成DLL文件,有事获取的SDK也可能丢失lib文件,而如果打算在VS中使用DLL则需要有对应的LIB文件,以下方法介绍如何从DLL文件中导出LIB文件。此方法有两个步骤:由dll文件生成def文件; 由def文件导出lib文件。1. 通过pexports或微软编译环境自带的dumpbin.exe导出DLL对应的def文件:pexports ***.dll > ***.def2. 通过微软编译环境自带的lib.exe程序根据...…

Windows继续阅读
更早的文章

Windows下简单的互斥锁封装

在多线程编程中线程的互斥与同步尤为重要。Windows操作系统提供了不同的线程互斥同步机制:临界区、互斥锁、事件和信号量。以下为其中的互斥锁Mutex的封装类,为应用提供了简单的接口来操作互斥锁。#include <windows.h>class Mutex{private: HANDLE mutex;public: Mutex() { mutex = CreateMutex(NULL, FALSE, NULL); } ~Mutex() { CloseHandle(mute...…

WindowsC++Thread继续阅读