vc2019 多线程
时间: 2023-11-17 21:56:40 浏览: 123
vc2019 支持多线程编程,可以使用 C++11 标准中的 std::thread 类来创建线程。在使用 std::thread 时,需要注意以下几点:
1. 创建线程时需要传入一个可调用对象(函数指针、函数对象、Lambda 表达式等)作为线程的执行体。
2. 线程执行体的参数需要通过 std::ref 或 std::cref 进行传递。
3. 线程执行体中的局部变量在多个线程之间是不共享的,需要使用 std::atomic 或 std::mutex 等同步机制来保证线程安全。
以下是一个简单的示例代码:
```c++
#include <iostream>
#include <thread>
void print(int& n) {
for (int i = 0; i < 5; ++i) {
std::cout << "Thread " << n << " executing\n";
}
}
int main() {
int n = 1;
std::thread t1(print, std::ref(n));
++n;
std::thread t2(print, std::ref(n));
t1.join();
t2.join();
return 0;
}
```
输出结果为:
```
Thread 1 executing
Thread 2 executing
Thread 2 executing
Thread 1 executing
Thread 2 executing
Thread 1 executing
Thread 1 executing
Thread 2 executing
Thread 1 executing
Thread 2 executing
```
阅读全文