在 C++ 中,可以使用
#include<iostream>
#include<thread>
#include<vector>
// 線程函數
void thread_function(int n) {
std::cout << "Thread " << n << " is running."<< std::endl;
}
int main() {
// 創建線程對象
std::vector<std::thread> threads;
// 啟動 5 個線程
for (int i = 0; i < 5; ++i) {
threads.push_back(std::thread(thread_function, i));
}
// 等待所有線程完成
for (auto& th : threads) {
th.join();
}
return 0;
}
這個示例中,我們首先包含了、
和<vector>
頭文件。然后定義了一個名為 thread_function
的線程函數,該函數接受一個整數參數并輸出線程信息。
在 main()
函數中,我們創建了一個 std::vector<std::thread>
類型的變量 threads
,用于存儲線程對象。接下來,我們使用一個循環來啟動 5 個線程,每個線程都調用 thread_function
函數。最后,我們使用另一個循環來等待所有線程完成(通過調用 join()
方法)。
要編譯和運行此示例,請確保你的編譯器支持 C++11 或更高版本的標準。在命令行中,可以使用以下命令進行編譯:
g++ -std=c++11 -o multithreading_example multithreading_example.cpp -pthread
然后運行生成的可執行文件:
./multithreading_example
這將輸出類似以下內容:
Thread 0 is running.
Thread 1 is running.
Thread 2 is running.
Thread 3 is running.
Thread 4 is running.
請注意,線程的執行順序可能會有所不同,因為它們是并發運行的。