这个比EnterCriticalSection快?解决办法
这个比EnterCriticalSection快?
------解决方案--------------------
这个怎么比?
------解决方案--------------------
是的,内核锁在目前是最快的
------解决方案--------------------
书上说是这个快,没用过
------解决方案--------------------
学习一下。 InterlockedCompareExchange
------解决方案--------------------
你这个是原子锁
------解决方案--------------------
去看看lock-free你会更不舒服
------解决方案--------------------
原子 do u know
- C/C++ code
ARCEMU_INLINE void Acquire() { DWORD thread_id = GetCurrentThreadId(), owner; if(thread_id == (DWORD)m_lock) { ++m_recursiveCount; return; } for(;;) { owner = InterlockedCompareExchange(&m_lock, thread_id, 0); if(owner == 0) break; Sleep(0); } ++m_recursiveCount; }
------解决方案--------------------
这个怎么比?
------解决方案--------------------
是的,内核锁在目前是最快的
------解决方案--------------------
书上说是这个快,没用过
------解决方案--------------------
学习一下。 InterlockedCompareExchange
------解决方案--------------------
你这个是原子锁
------解决方案--------------------
去看看lock-free你会更不舒服
------解决方案--------------------
原子 do u know