以下是一个非常简单的多线程程序,实现的是利用新线程修改全局变量,初始线程监听全局变量并输出“wait”直到全局变量的值被新线程改变:
1 #include<iostream> 2 #include<thread> 3 #include<Windows.h> 4 5 using namespace std; 6 7 int n = 0; 8 9 void changeNumber(); 10 11 int main(){ 12 thread t(changeNumber); 13 while (0 == n){ 14 cout << "wait\n"; 15 Sleep(100); 16 } 17 t.join(); 18 cout << n << endl; 19 system("pause"); 20 return 0; 21 } 22 23 void changeNumber(){ 24 Sleep(1000); 25 n = 1; 26 }
运行结果: