C++实现线程里创建线程
时间: 2023-08-12 12:38:48 浏览: 91
在C++中,可以使用标准库中的`std::thread`类来创建线程。在线程函数中,可以使用相同的方式来创建子线程。以下是一个示例代码:
```c++
#include <iostream>
#include <thread>
void childThread() {
std::cout << "Child thread started" << std::endl;
}
void parentThread() {
std::cout << "Parent thread started" << std::endl;
std::thread t(childThread);
t.join();
std::cout << "Child thread ended" << std::endl;
}
int main() {
std::thread t(parentThread);
t.join();
return 0;
}
```
在上面的代码中,我们定义了两个函数`parentThread`和`childThread`,分别用于创建父线程和子线程。在`parentThread`中,我们创建了一个子线程`t`,并在子线程中执行`childThread`函数。在主线程中,我们创建了一个父线程`t`,并在其中执行`parentThread`函数。最后,我们等待父线程执行完成,然后结束程序。
注意,在创建子线程之后,我们使用了`t.join()`来等待子线程执行完成。这是因为在主线程结束之前,我们必须确保子线程已经执行完成。如果没有等待子线程完成,主线程可能会提前结束,从而导致子线程无法完成执行。
阅读全文