C++自学精简教程 目录(必读)
C++并发编程入门 目录
在 创建2个线程并执行 创建10个线程并执行 中,我们已经看到了多个线程执行的顺序是没有任何保证的。
他们之间就是各自独立的同时在执行。
下面我们来看看两个线程同时往控制台打印信息,控制台会乱成什么样子。
由于本文用到的代码是前面 创建2个线程并执行 创建2个线程并执行 中的技术,所以,我们就不再在这里写Windows 和Linux下面的版本了,想必你也可以轻松写出来。
STL
#include <thread>
#include <iostream>
using namespace std;
void thread_fun1(void)
{
while (true)
{
cout << "1";
}
}
void thread_fun2(void)
{
while (true)
{
cout << "2";
}
}
int main(void)
{
std::thread thread1(thread_fun1);
std::thread thread2(thread_fun2);
thread1.join();
thread2.join();
return 0;
}
可以看出,两个线程没有先后顺序的,肆意妄为,乱打印一气。
控制台窗口被乱箭穿心!