void atomic2(uint64_t cnt){ for(uint64_t i=0; i<cnt; i++){ total2.fetch_add(1); total2.fetch_sub(1); //total2++; } }
void consume_queue_items(int id) { unsigned const max_iterations = 100; unsigned i = -1; while( ++i<max_iterations ) { int item_index; if((item_index=count.fetch_sub(1,memory_order_acquire))<=0) { //wait_for_more_items(); continue; } //process(queue_data[item_index-1]); cout<<id*queue_data[item_index-1]<<" "; } }