kre*_*ieg 5 c++ winapi multithreading boost c++11
寻找Win32 InterlockedExchangePointer的便携,简单和优雅的替代品.理想情况下只使用C++ 11,但也会使用boost.
Mik*_*our 10
该标准的原子类型有一个原子exchange功能.所以微软公司
PVOID volatile target;
old_value = InterlockedExchangePointer(&target, new_value);
Run Code Online (Sandbox Code Playgroud)
会成为
std::atomic<T*> target;
old_value = target.exchange(new_value);
Run Code Online (Sandbox Code Playgroud)