2 потока A и B разделяют volatile int i
. приращенияgcc: __sync_lock_test_and_set VS. = оператор с изменчивыми переменными
резьбы A i
как это: __sync_fetch_and_add(&i, 1);
резьбы В устанавливает i
на произвольное значение V, как это: i = 15;
.
Мой вопрос: для такого использования следует использовать __sync_lock_test_and_set(&i, 15);
вместо прямого воздействия с помощью оператора =
?
Если да, то __sync_lock_release
обязательно после test_and_set?
ENV: GCC 4.1.2, CentOS 5.11 32 бита, не C++ 11