c++ 多个线程调用同一个方法
时间: 2023-07-30 13:09:56 浏览: 261
在 C++ 中,你可以使用多线程来调用相同的方法。这可以通过创建多个线程对象来实现。以下是一个简单的示例代码:
```cpp
#include <iostream>
#include <thread>
void myMethod() {
// 这里是你要执行的代码逻辑
std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;
}
int main() {
const int numThreads = 5;
std::thread threads[numThreads];
// 创建并启动多个线程
for (int i = 0; i < numThreads; i++) {
threads[i] = std::thread(myMethod);
}
// 等待所有线程执行完毕
for (int i = 0; i < numThreads; i++) {
threads[i].join();
}
return 0;
}
```
在上面的代码中,`myMethod()` 是要被多个线程调用的方法。我们在 `main()` 函数中创建了一个包含多个线程对象的数组 `threads`,然后使用 `std::thread` 类构造函数将 `myMethod` 作为参数传递给每个线程对象。之后,我们通过调用 `join()` 方法等待所有线程执行完毕。
请注意,多个线程同时调用同一个方法可能会引发并发访问共享资源的问题。如果你的方法涉及到共享数据的读写操作,你可能需要使用互斥锁或其他同步机制来确保线程安全。
阅读全文