这个比EnterCriticalSection快?解决办法

这个比EnterCriticalSection快?
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