c++怎么实现多线程
时间: 2023-11-28 08:48:17 浏览: 87
C++进行多线程编程
4星 · 用户满意度95%
C++中实现多线程可以使用标准库中的`<thread>`头文件。其中,可以使用`std::thread`类来创建新的线程。
以下是一个简单的例子,创建两个线程,分别输出1到5和6到10的数字:
```
#include <iostream>
#include <thread>
void printNumbers(int start, int end) {
for (int i = start; i <= end; ++i) {
std::cout << i << " ";
}
std::cout << std::endl;
}
int main() {
std::thread t1(printNumbers, 1, 5);
std::thread t2(printNumbers, 6, 10);
t1.join();
t2.join();
return 0;
}
```
在上述代码中,`printNumbers`函数会在新的线程中运行。我们通过传递函数指针以及参数来创建新的线程。`join()`函数可以等待线程执行完毕后再结束主线程。
需要注意的是,在多线程编程中需要避免数据竞争,即多个线程同时访问同一份数据,可能会导致不可预期的结果。可以使用互斥锁(`std::mutex`)或原子操作(`std::atomic`)等方式来避免数据竞争。
阅读全文