counter.cpp (450B)
1 #include <iostream> 2 3 // DISCLAIMER: this code contains a race condition 4 class Counter 5 { 6 public: 7 Counter() : count_(0) {} 8 9 void increment() { ++count_; } 10 unsigned int get_count() const { return count_; } 11 12 private: 13 unsigned int count_; 14 }; 15 16 int main(void) 17 { 18 Counter counter; 19 #pragma omp parallel for 20 for (int i = 0; i < 100; ++i) { 21 counter.increment(); 22 } 23 std::cout << counter.get_count() << '\n'; 24 return 0; 25 }