C++ 线程的开启
时间: 2023-09-02 17:09:49 浏览: 40
在C++11标准中,可以使用`std::thread`来创建一个新的线程。具体步骤如下:
1. 定义一个函数,该函数将在新线程中执行。
2. 使用`std::thread`构造函数创建一个新的线程,将该函数作为参数传递给构造函数。
3. 调用`std::thread`对象的`join`方法,等待新线程执行完毕。
示例代码如下:
```c++
#include <iostream>
#include <thread>
void thread_function()
{
std::cout << "Hello from thread!" << std::endl;
}
int main()
{
std::thread t(thread_function);
t.join();
std::cout << "Hello from main!" << std::endl;
return 0;
}
```
在上面的示例代码中,我们定义了一个名为`thread_function`的函数,该函数将在新线程中执行。然后我们使用`std::thread`构造函数创建一个新的线程,并将该函数作为参数传递给构造函数。最后,我们调用`join`方法等待新线程执行完毕。在主线程中,我们输出一条消息表示主线程也在执行。
需要注意的是,线程函数的参数如果需要传递多个参数,可以使用`std::bind`或者lambda表达式来实现。另外,线程函数执行完毕后,可以使用`std::thread`对象的`detach`方法将线程与对象分离,此时线程将在后台继续执行,但是无法再通过该对象控制线程的行为。