C++创建两个线程,分别有不同的处理函数
时间: 2024-02-12 17:03:27 浏览: 64
C++实现线程
4星 · 用户满意度95%
好的,您可以使用C++11提供的std::thread库来创建线程,下面是一个简单的例子:
```c++
#include <iostream>
#include <thread>
// 第一个线程的处理函数
void thread_function1()
{
std::cout << "Hello from thread 1!\n";
}
// 第二个线程的处理函数
void thread_function2(int value)
{
std::cout << "Hello from thread 2! Value = " << value << "\n";
}
int main()
{
// 创建第一个线程
std::thread t1(thread_function1);
// 创建第二个线程并传入参数
int value = 42;
std::thread t2(thread_function2, value);
// 等待线程执行完成
t1.join();
t2.join();
return 0;
}
```
在上面的例子中,我们使用 `std::thread` 类来创建了两个线程,分别调用了不同的处理函数 `thread_function1` 和 `thread_function2`。在 `main` 函数中,我们创建了两个线程对象 `t1` 和 `t2`,并分别传入了不同的处理函数和参数。最后,我们使用 `join` 函数等待线程执行完成。
需要注意的是,如果您使用的是非静态成员函数或者Lambda表达式作为处理函数,还需要使用 `std::bind` 函数将其绑定到线程中。
阅读全文