在C++中,使用多线程可以让程序同时执行多个任务
以下是一个简单的C++多线程程序示例,其中main
函数创建了两个线程并等待它们完成:
#include<iostream>
#include<thread>
void thread_function1() {
std::cout << "Thread 1 is running."<< std::endl;
}
void thread_function2() {
std::cout << "Thread 2 is running."<< std::endl;
}
int main() {
// 创建两个线程,分别执行thread_function1和thread_function2
std::thread t1(thread_function1);
std::thread t2(thread_function2);
// 等待线程t1和t2完成
t1.join();
t2.join();
std::cout << "All threads have finished."<< std::endl;
return 0;
}
在这个示例中,main
函数首先创建了两个线程t1
和t2
,分别执行thread_function1
和thread_function2
。然后,main
函数调用t1.join()
和t2.join()
等待这两个线程完成。最后,main
函数输出"All threads have finished."并返回0。
需要注意的是,在多线程程序中,线程之间的执行顺序是不确定的。因此,在实际编程中,需要确保线程之间的同步和互斥,以避免数据竞争和其他并发问题。