std::thread是C++11標準庫中的一個類,用于創建和管理線程。通過std::thread可以創建一個新的線程,并將一個可調用對象(函數、函數對象或Lambda表達式)作為參數傳遞給線程。
使用std::thread時,需要包含
```cpp
#include
#include
void threadFunc() {
std::cout << "Hello from thread" << std::this_thread::get_id() << std::endl;
}
int main() {
std::thread threadObj(threadFunc);
// 等待線程執行完成
threadObj.join();
std::cout << "Main thread" << std::this_thread::get_id() << " exiting..." << std::endl;
return 0;
}
```
在上面的示例中,通過std::thread創建了一個名為threadObj的線程對象,并將函數threadFunc作為可調用對象傳遞給這個線程。然后在主線程中調用join()方法,等待線程執行完成。最后輸出了主線程的ID和退出信息。
除了join()方法外,還可以使用detach()方法將線程分離,使得線程可以獨立運行。需要注意的是,在使用std::thread時需要考慮線程安全性和資源管理。