std::thread申请线程举例
时间: 2024-12-13 12:12:18 浏览: 6
在C++中,`std::thread` 是用于创建新线程的库组件。下面是一个简单的示例,展示了如何使用 `std::thread` 来启动一个新的线程并执行指定的函数:
```cpp
#include <iostream>
#include <thread>
// 被线程调用的函数
void printNumbers(int start, int end) {
for (int i = start; i <= end; ++i) {
std::cout << "Thread " << std::this_thread::get_id() << ": " << i << '\n';
}
}
int main() {
// 创建三个线程,每个线程会打印1到对应的数字
std::thread thread1(printNumbers, 1, 3);
std::thread thread2(printNumbers, 4, 6);
std::thread thread3(printNumbers, 7, 9);
// 主线程开始执行其他任务,等待线程完成
thread1.join(); // 等待thread1结束
thread2.join(); // 然后等待thread2
thread3.join(); // 最后等待thread3
return 0;
}
```
在这个例子中,我们创建了三个线程,每个线程都会按照指定范围打印数字。`std::thread::join()` 函数使得主线程暂停直到所创建的子线程(这里的thread1、thread2和thread3)执行完毕。
阅读全文