本文整理汇总了C++中mem_ptr_t::compare_exchange_weak方法的典型用法代码示例。如果您正苦于以下问题:C++ mem_ptr_t::compare_exchange_weak方法的具体用法?C++ mem_ptr_t::compare_exchange_weak怎么用?C++ mem_ptr_t::compare_exchange_weak使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mem_ptr_t
的用法示例。
在下文中一共展示了mem_ptr_t::compare_exchange_weak方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sys_ppu_thread_once
void sys_ppu_thread_once(mem_ptr_t<std::atomic<be_t<u32>>> once_ctrl, u32 entry)
{
sysPrxForUser->Warning("sys_ppu_thread_once(once_ctrl_addr=0x%x, entry=0x%x)", once_ctrl.GetAddr(), entry);
be_t<u32> old = SYS_PPU_THREAD_ONCE_INIT;
if (once_ctrl->compare_exchange_weak(old, SYS_PPU_THREAD_DONE_INIT))
{
CPUThread& new_thread = Emu.GetCPU().AddThread(CPU_THREAD_PPU);
new_thread.SetEntry(entry);
new_thread.Run();
new_thread.Exec();
while (new_thread.IsAlive()) SM_Sleep();
}
}