溫馨提示×

c++中std::thread的用法是什么

c++
小億
113
2024-02-27 13:39:01
欄目: 編程語言

std::thread是C++11標準庫中的一個類,用于創(chuàng)建和管理線程。通過std::thread可以創(chuàng)建一個新的線程,并將一個可調用對象(函數(shù)、函數(shù)對象或Lambda表達式)作為參數(shù)傳遞給線程。

使用std::thread時,需要包含頭文件,并且線程對象可以使用構造函數(shù)初始化。例如:

```cpp

#include

#include

void threadFunc() {

std::cout << "Hello from thread" << std::this_thread::get_id() << std::endl;

}

int main() {

std::thread threadObj(threadFunc);

// 等待線程執(zhí)行完成

threadObj.join();

std::cout << "Main thread" << std::this_thread::get_id() << " exiting..." << std::endl;

return 0;

}

```

在上面的示例中,通過std::thread創(chuàng)建了一個名為threadObj的線程對象,并將函數(shù)threadFunc作為可調用對象傳遞給這個線程。然后在主線程中調用join()方法,等待線程執(zhí)行完成。最后輸出了主線程的ID和退出信息。

除了join()方法外,還可以使用detach()方法將線程分離,使得線程可以獨立運行。需要注意的是,在使用std::thread時需要考慮線程安全性和資源管理。

0