Lar*_*der 3 cocoa multithreading posix locking objective-c
我正在研究多线程代码.数据访问通过"NSLock"对象锁定在几个部分中.我想确保在这些部分中调用的某些方法检查是否获取了适当的锁.
就像是:
assert([myLock isSet] == YES);
Run Code Online (Sandbox Code Playgroud)
我在NSLock中找不到像"isSet"这样的东西.是否设置了如何确保锁定的任何想法?
谢谢!
wal*_*lky 11
你是如何获得锁定的?如果你正在打电话lock,那么你之后甚至跑步的事实应该保证你已经获得了它.如果你打电话lockBeforeDate,返回值告诉你.
如果你想从其他地方进行测试,你可以这样做
if ( [myLock tryLock] )
{
// oops, lock was not previously acquired!
...
[myLock unlock];
}
else
{
// yep, lock was already acquired
}
Run Code Online (Sandbox Code Playgroud)
但是,总的来说,这似乎是一个值得怀疑的事情.您应该在需要的地方进行锁定并相信它可以工作,而不是试图从外部监督它.
| 归档时间: |
|
| 查看次数: |
4787 次 |
| 最近记录: |