📄 mymutexpool.cpp
字号:
#include "mymutexpool_p.h"#include "mythread.h"MyMutexPool *my_global_mutexpool = 0;MyMutexPool::MyMutexPool (int size):mutex (), count (size){ mutexes = new MyMutex *[count]; for (int index = 0; index < count; ++index) { mutexes[index] = 0; }}MyMutexPool::~MyMutexPool (){ MyMutexLocker locker (&mutex); for (int index = 0; index < count; ++index) { delete mutexes[index]; mutexes[index] = 0; } delete[]mutexes; mutexes = 0;}MyMutex *MyMutexPool::get (void *address){ int index = (int) ((unsigned long) address % count); if (!mutexes[index]) { MyMutexLocker locker (&mutex); if (!mutexes[index]) { mutexes[index] = new MyMutex (); } } return mutexes[index];}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -