Advertisement
spider68

print number using thread

Aug 2nd, 2023 (edited)
888
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | Source Code | 0 0
  1. #include <iostream>
  2. #include <thread>
  3. #include <mutex>
  4.  
  5. using namespace std;
  6. mutex mtx;
  7. int current_number = 1;
  8.  
  9. // Function to print odd numbers
  10. void printOdd()
  11. {
  12.     while (current_number <= 10)
  13.     {
  14.         if (current_number % 2 != 0)
  15.         {
  16.             mtx.lock();
  17.             cout << "Thread 1: " << current_number << endl;
  18.             ++current_number;
  19.             mtx.unlock();
  20.         }
  21.     }
  22. }
  23.  
  24. // Function to print even numbers
  25. void printEven()
  26. {
  27.     while (current_number <= 10)
  28.     {
  29.         if (current_number % 2 == 0)
  30.         {
  31.             mtx.lock();
  32.             cout << "Thread 2: " << current_number << endl;
  33.             ++current_number;
  34.             mtx.unlock();
  35.         }
  36.     }
  37. }
  38.  
  39. int main()
  40. {
  41.     thread t2(printEven);
  42.     thread t1(printOdd);
  43.    
  44.  
  45.     t2.join();
  46.     t1.join();
  47.    
  48.  
  49.     return 0;
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement