C++ Condition Variable
Sharing the code which demonstrates synchronization between two threads. Two threads execute interchangeably, all thanks to the condition variable. I have also shared the code execution output Check out the Video: #include <iostream> #include <thread> #include <mutex> #include <condition_variable> using namespace std; mutex m; condition_variable cnd; int previousThreadId; void print(int threadID) { for (size_t i = 0; i < 20; i++) { unique_lock<std::mutex> ul(m); //->Threads Waiting Zone cnd.wait(ul, [&]()->bool { if (threadID != previousThreadId) return true; else return false; }); previousThreadId = threadID; cout << "\nThread # " << threadID << " Executing..."; cout << "\nPrinting : " << i<< "\n"; ul.unlock(); cnd.notify_one(); } } int main() { thread t[2]; for (size_t i = 0; i < 2; i++) { t[i] = th...