在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。
需要注意的是,在多線程程序中,線程之間的執行順序是不確定的。因此,在實際編程中,需要確保線程之間的同步和互斥,以避免數據競爭和其他并發問題。