}
static void StealerThread(int index) {
- while (!terminate_stealer.load(memory_order_relaxed)) {
+ while (!terminate_stealer.load(memory_order_acquire)) {
while (true) {
int res = deque->steal();
if (res != EMPTY && res != ABORT) {
MainThread(s_nDequeStealerThreadCount, i);
}
- terminate_stealer.store(1, memory_order_relaxed);
+ terminate_stealer.store(1, memory_order_release);
for (ullong i = 0; i < s_nDequeStealerThreadCount; i++) {
threads[i].join();
}