在C++中,多線程編程和并發模型可以通過使用std::thread來實現。std::thread是C++標準庫中提供的線程類,可以用來創建新的線程并執行指定的函數。
下面是一個簡單的示例代碼,演示了如何使用std::thread來實現一個簡單的多線程程序:
#include <iostream>
#include <thread>
void threadFunction() {
std::cout << "Hello from thread!" << std::endl;
}
int main() {
// 創建一個新的線程并執行threadFunction函數
std::thread t(threadFunction);
// 等待新的線程執行完成
t.join();
std::cout << "Hello from main thread!" << std::endl;
return 0;
}
在上面的示例中,我們首先定義了一個threadFunction函數,然后在main函數中創建了一個新的線程t,并指定其執行的函數為threadFunction。最后通過t.join()函數來等待新的線程執行完成。
除了std::thread類外,C++標準庫還提供了一些用于多線程編程和并發模型的其他類和工具,如std::mutex、std::condition_variable、std::atomic等,可以用來實現更復雜的并發模型。通過這些類和工具,我們可以實現線程同步、互斥訪問、條件變量等功能,從而更好地控制多線程程序的執行流程和數據訪問。