Wons' Blog

个人博客

Android程序猿


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

Windows下简单的互斥锁封装

在多线程编程中线程的互斥与同步尤为重要。Windows操作系统提供了不同的线程互斥同步机制:临界区、互斥锁、事件和信号量。

以下为其中的互斥锁Mutex的封装类,为应用提供了简单的接口来操作互斥锁。

#include <windows.h>

class Mutex
{
private:
	HANDLE mutex;

public:
	Mutex()
	{
		mutex = CreateMutex(NULL, FALSE, NULL);
	}

	~Mutex()
	{
		CloseHandle(mutex);
	}

	void waitAndLock()
	{
		WaitForSingleObject(mutex, INFINITE);
	}

	void unlock()
	{
		ReleaseMutex(mutex);
	}
};
最近的文章

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

Windows操作系统为多线程/进程编程提供了多种互斥与同步机制:1.临界区(CriticalSection)API: InitializeCriticalSection, DeleteCriticalSection, EnterCriticalSection, LeaveCriticalSection此机制具有线程所有权特性,持有临界区的线程可以重复进入临界区2.互斥锁(Mutex)API: CreateMutex, OpenMutex, ReleaseMutex此机制也具有线程所有权3...…

WindowsThread继续阅读
更早的文章

Windows下C++程序终止进程

Windows下C++程序有多种方式可以关闭进程: 通过执行命令行程序,如taskkill等。 向进程发送关闭信号 通过Windows API来关闭进程,如TerminateProcess函数以下函数通过调用TerminateProcess来关闭指定名称的进程。bool kill_process(const char* lpszProcessName){ unsigned int pid = -1; bool retval = true; if (lpsz...…

WindowsC++继续阅读