1.声明
#ifdef _LINUX
pthread_mutex_t mutex_lock;
#endif
#ifdef WIN32
CRITICAL_SECTION mutex_lock;
#endif
2.初始化
#ifdef _LINUX
pthread_mutex_init(&mutex_lock, NULL);
#endif
#ifdef WIN32
InitializeCriticalSection(&mutex_lock);
#endif
3.进入和退出临界区
#ifdef _LINUX
thread_mutex_lock(&mutex_lock);
......
pthread_mutex_unlock(&mutex_lock);
#endif
#ifdef _WIN32
EnterCriticalSection(&mutex_lock);
....
LeaveCriticalSection(&mutex_lock);
#endif
4.删除临界区
#ifdef _LINUX
pthread_mutex_destroy(&mutex_lock);
#endif
#ifdef WIN32
DeleteCriticalSection(&mutex_lock);
#endif
本文介绍了一种跨平台的锁机制实现方法,针对Linux和Windows系统分别使用了pthread_mutex和CRITICAL_SECTION来同步多线程访问共享资源。文章详细展示了声明、初始化、使用及销毁锁的全过程。
5万+

被折叠的 条评论
为什么被折叠?



