ACE中的读写锁
在ACE的读写锁中,ACE_READ_GUARD展开如下:# define ACE_READ_GUARD(MUTEX,OBJ,LOCK) \
ACE_Read_Guard< MUTEX > OBJ (LOCK); \
if (OBJ.locked () == 0) return;
我发现所有的ACE守卫类中都有 if (OBJ.locked () == 0) 的判断,
我想问一下,OBJ.locked () 等于0的时候多吗?在什么情况下等于0?
是在被别的线程锁定的时候等于0吗?
[ 本帖最后由 admin11 于 2009-11-26 13:41 编辑 ] 正常情况下应该不会==0。
“在什么情况下等于0?是在被别的线程锁定的时候等于0吗?”
可以去看对应的OBJ.locked ()源码,比如ACE_Thread_Mutex:: locked ()
看它在什么情况下会返回0
页:
[1]