在C++中,可以使用C++11標準庫中的<thread>
頭文件來創建多線程。下面是一個簡單的示例,展示了如何創建兩個線程并執行一些任務:
#include<iostream>
#include<thread>
// 線程要執行的函數
void task1() {
std::cout << "Task 1 executed by thread "<< std::this_thread::get_id()<< std::endl;
}
void task2() {
std::cout << "Task 2 executed by thread "<< std::this_thread::get_id()<< std::endl;
}
int main() {
// 創建線程對象,并將任務傳遞給線程
std::thread t1(task1);
std::thread t2(task2);
// 等待線程完成任務
t1.join();
t2.join();
return 0;
}
在這個示例中,我們定義了兩個函數task1
和task2
,然后在main
函數中創建了兩個線程t1
和t2
,分別執行這兩個任務。通過調用join()
方法,我們等待線程完成任務。
注意:編譯這個程序時,需要使用支持C++11的編譯器,并添加-std=c++11
編譯選項。例如,使用g++編譯器時,可以運行以下命令:
g++ -std=c++11 main.cpp -o main
./main