Example #1
0
void atomic2(uint64_t cnt){
  for(uint64_t i=0; i<cnt; i++){
    total2.fetch_add(1);
    total2.fetch_sub(1);
    //total2++;
  }
}
Example #2
0
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]<<" ";
    }
}