diff options
Diffstat (limited to 'foo.cpp')
| -rw-r--r-- | foo.cpp | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/foo.cpp b/foo.cpp deleted file mode 100644 index a7891bb..0000000 --- a/foo.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <array> -#include <cstddef> -#include <exception> -#include <functional> -#include <iostream> -#include <mutex> -#include <thread> - -namespace { - -struct Counter { - std::mutex mtx; - std::size_t impl = 0; -}; - -void do_something(Counter& counter) { - std::lock_guard<std::mutex> lck{counter.mtx}; - ++counter.impl; - std::cout << "Doing something #" << counter.impl << '\n'; -} - -} - -int main() { - try { - Counter counter; - std::array<std::thread, 3> workers; - for (auto& worker : workers) { - worker = std::thread{&do_something, std::ref(counter)}; - } - for (auto& worker : workers) { - worker.join(); - } - } catch (const std::exception& e) { - std::cerr << e.what() << '\n'; - return 1; - } - return 0; -} |
