Files
concurrency-in-action/source/listing_5.2.cpp
2018-10-18 00:40:34 -05:00

24 lines
416 B
C++

#include <atomic>
#include <chrono>
#include <iostream>
#include <thread>
#include <vector>
std::vector<int> data;
std::atomic_bool data_ready(false);
void
reader_thread()
{
while (!data_ready.load()) {
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
std::cout << "The answer=" << data[0] << "\n";
}
void
writer_thread()
{
data.push_back(42);
data_ready = true;
}