Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. class Foo {
  2.     std::mutex mutexSecond;
  3.     std::mutex mutexThird;
  4. public:
  5.     Foo() {
  6.         mutexSecond.lock();
  7.         mutexThird.lock();
  8.     }
  9.  
  10.     void first(function<void()> printFirst) {
  11.  
  12.         // printFirst() outputs "first". Do not change or remove this line.
  13.         printFirst();
  14.         mutexSecond.unlock();
  15.     }
  16.  
  17.     void second(function<void()> printSecond) {
  18.         std::lock_guard<std::mutex> guard(mutexSecond);
  19.         // printSecond() outputs "second". Do not change or remove this line.
  20.         printSecond();
  21.         mutexThird.unlock();
  22.     }
  23.  
  24.     void third(function<void()> printThird) {
  25.         std::lock_guard<std::mutex> guard(mutexThird);
  26.         // printThird() outputs "third". Do not change or remove this line.
  27.         printThird();
  28.     }
  29. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement