CPP
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <thread>
#include <mutex>
using namespace std;
mutex mu;
bool isEven = true; // flag for synchronization
void printOdd(){
int i = 1;
while (i < 10){
if(isEven == false){
unique_lock<mutex> mu;
cout << "Thread " << 2
<< " " << this_thread::get_id()
<< " -> "
<< i +1 << endl;
i+=2;
isEven = true;
}
}
}
void printEven(){
int i = 0;
while (i < 10){
if(isEven == true){
unique_lock<mutex> mu;
Enter to Rename, Shift+Enter to Preview
OUTPUT
Run