c++ std::this_thread启一个线程
时间: 2024-12-16 18:31:58 浏览: 5
C++11 std::shared_ptr总结与使用示例代码详解
在 C++ 中,`std::this_thread` 是 `<thread>` 库的一部分,用于处理线程操作。如果你想从当前线程启动一个新的线程,你可以使用 `std::thread` 类的构造函数,并传入一个 `std::function` 或者 `std::Runnable` 对象作为线程的入口点。
下面是一个简单的示例,展示了如何创建并启动一个新线程:
```cpp
#include <iostream>
#include <thread>
// 线程执行的函数
void thread_function() {
std::cout << "Hello from a new thread!" << std::endl;
}
int main() {
// 创建一个新线程并传入 thread_function 函数
std::thread worker_thread(thread_function);
// 主线程继续执行其他任务,新线程会在适当的时候开始
// 这里我们可以添加一些同步机制如 std::sleep_for 或者调用其他函数
std::cout << "Main thread is doing something else..." << std::endl;
// 等待新线程结束,可以使用 join() 函数
worker_thread.join();
std::cout << "Main thread finished." << std::endl;
return 0;
}
```
在这个例子中,`worker_thread` 就是从 `main` 线程启动的新线程。当你调用 `join()` 时,主线程会等待新线程执行完毕。
阅读全文