|
@ -13,3 +13,13 @@ Build |
|
|
|
|
|
|
|
|
eGLock 基于c++11 atomic |
|
|
eGLock 基于c++11 atomic |
|
|
其中要锁的key 不能是列表的字符串 原因是锁表的key会判断是否为list来区分是锁单key 还是锁列表 |
|
|
其中要锁的key 不能是列表的字符串 原因是锁表的key会判断是否为list来区分是锁单key 还是锁列表 |
|
|
|
|
|
另外建议锁的key需要通过宏定义来生成 维护时好搜查删改 |
|
|
|
|
|
对于 tryLock和releaseLock的使用应该在try里面使用并在after调用releaseLock,就像这样: |
|
|
|
|
|
try |
|
|
|
|
|
true = eGLock:tryLock(KeyOrKeys), |
|
|
|
|
|
%% doSomeThing |
|
|
|
|
|
catch C:R:S -> |
|
|
|
|
|
%% do error |
|
|
|
|
|
after |
|
|
|
|
|
:releaseLock(KeyOrKeys) |
|
|
|
|
|
end. |