???????е????????????????????????????????????????????????????????????????????????????????????????????е??????????????????????????????????????????????????????????????????????????????????????????????????????????A????????B???????????X????A??????B???????????????????????A??????????X????????????B?????X????????????????????????????B???????????B???????X???????????????????X?????t???B??????????????????????????????????????????????????

????1????????“??”????????????????????????????

????2????????????????????????????????ɡ?

???????????Interlocked??к???????????????????????????й????????????????????????????????????????????????

????????????InterlockedExchangeAdd?????£?

InterlockedExchangeAdd(
    unsigned long volatile *Addend??//??????????????
    unsigned long Value//?????
)

????Volatile?????ζ???????ж?????????????????????ж??????????????????????????????????б?????????CPU?У????????????????CPU?????????ж??и????????????volatile???Σ????????????????????CPU?????????е?????????????????????ж?????????????????£?????????????????????????CPU???????????μ????????????????????volatile???κ?????????????и????????Ч???????????????????????????volatile???÷????Ч??????????????????ε????????????????δ???Ρ?

????InterlockedExchangeAdd??е??????????????????ü???CPU???????InterlockedExchangeAdd??????????????????????е???С??????????Volatile????????????????????????InterlockedExchange??????á?????????????????£?

bool sourceIsUse=false;
        void fun()
        {
            //???????????????
            while(InterlockedExchange(&sourceIsUse??true)==true)
            {
                Sleep(0);
            }
            //????????????
            ......

            //????ú????????????????????????????
            InterlockedExchange(&sourceIsUse??false);
        }

????InterlockedExchange?????????????????????????????????????????????????????????????????????????????????While???????????????????while????true???????????????while??????????????????????????????????????????????????????while???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????С???CPU??????ж?????????????????????????????????????????????????У????????????п?????32??????64????????128??????????????????????32??????????????CPU???÷???????????棬?????????????????CPU????????????????????????????????????????????????????????????????????????????????????????????