BOOST源碼筆記(5) - 最小的代價實現同步-無鎖編程,看boost中的interlocked_bit_test_and_set實現

如題,如何用最小的代價來實現同步呢,即無鎖編程(主要是使用原子操做替代鎖來實現對共享資源的訪問保護),算法 咱們來看看下面的代碼。編程 首先,咱們須要是在這個函數內部對地址x中的值進行位測試並將其對應的位置位。  這裏的關鍵是咱們必須先讀出*x的值,做位或運算以後,將獲得的值對*x賦值。而在多線程環境中,在讀出*x後也許有另外的線程對*x進行寫操做,這樣在給*x賦值的時候就會把對舊的值位或的結果賦
相關文章
相關標籤/搜索