fork download
  1. #include <bits/stdc++.h>
  2. #include <thread>
  3. using namespace std;
  4.  
  5. void task() {
  6. std::cout << "task 1 says Hi\n";
  7. }
  8. void task2() {
  9. std::cout << "task 2 says Hi\n";
  10. }
  11. void task3() {
  12. std::cout << "task 3 says Hi\n";
  13. }
  14. void task4() {
  15. std::cout << "task 4 says Hi\n";
  16. }
  17. int main() {
  18. std::thread t1(task);
  19. std::thread t2(task2);
  20. std::thread t3(task3);
  21. std::thread t4(task4);
  22.  
  23. t4.join();
  24. std::cout << "main says Hi 1\n";
  25. // synchronize - IMPORTANT!
  26. t2.join();
  27. t3.join();
  28. t1.join();
  29. std::cout << "main says Hi 2" << std::endl;
  30. system("pause");
  31. }
Success #stdin #stdout #stderr 0.01s 5492KB
stdin
Standard input is empty
stdout
task 4 says Hi
main says Hi 1
task 3 says Hi
task 2 says Hi
task 1 says Hi
main says Hi 2
stderr
sh: 1: pause: not found