{if(InterlockedCompareExchange( (LONG*)&m_bActive, TRUE, FALSE ) )return;CQuickLockoLock( SearchManager.m_pSection );if( SearchManager.Add(this) ) { m_tExecute =0; m_tLastED2K =0; m_tMoreResults =0; m_nQueryCount =0; m_pNodes.RemoveAll(); } } 开发者ID:lemonxiao0,项目名称:...
LONG InterlockedCompareExchange(LPLONG Destination, LONG Exchange, LONG Comperand); ParametersDestination [in, out] Specifies the address of the destination value. The sign is ignored. Exchange [in] Specifies the exchange value. The sign is ignored. Comperand [in] Specifies the value to compare ...
比较两个双精度浮点数是否相等,如果相等,则替换第一个值作为原子运算。 CompareExchange(Byte, Byte, Byte) 比较两个 8 位无符号整数是否相等,如果相等,则替换第一个值作为原子操作。 CompareExchange(IntPtr, IntPtr, IntPtr) 比较两个特定于平台的句柄或指针是否相等,如果它们相等,则替换第一个句柄作为原子操...
比較兩個 64 位帶正負號的整數是否相等,如果相等,則會將第一個值取代為不可部分完成的作業。 CompareExchange(Int32, Int32, Int32) 比較兩個 32 位帶正負號的整數是否相等,如果相等,則會將第一個值取代為不可部分完成的作業。 CompareExchange(Double, Double, Double) 比較兩個雙精確度浮點數是否相等,如...
InterlockedCompareExchange函数主要作用是将目标操作数与一个值进行比较,如果相等则用另一个值与目标操作数进行交换,整个操作过程会锁定内存,避免多处理器环境下线程互斥问题。Interlocked系列互锁函数还包括InterlockedIncrement、InterlockedDecrement、InterlockedExchangeAdd等。InterlockedIncrement函数实现原子性自增...
typedef LONG InterlockedType;#else typedef PVOID InterlockedType;#endif InterlockedCompareExchange((...
LONG InterlockedCompareExchange( LPLONG Destination, LONG Exchange, LONG Comperand ); Parameters Destination [in, out] Specifies the address of the destination value. The sign is ignored. Exchange [in] Specifies the exchange value. The sign is ignored. ...
若要对非指针值进行操作,请使用 InterlockedCompareExchange 函数。 语法 C++ 复制 PVOID InterlockedCompareExchangePointer( [in, out] PVOID volatile *Destination, [in] PVOID Exchange, [in] PVOID Comperand ); 参数 [in, out] Destination 指向指向目标值的指针的指针。 [in] Exchange 交换值。 [...
void InterlockedCompareExchange( in R dest, in T compare_value, in T value, out T original_value ); parameters dest [in] 类型: R 目标地址。 compare_value [in] 类型: T 比较值。 value [in] 类型: T 输入值。 original_value [out] 类型: T 原始值。 返回值 此函数不返回值。 注...