C++ 两个线程回调

本文展示了如何在C++中使用std::thread库创建和管理线程,通过函数指针和lambda表达式定义回调函数。代码创建了两个线程t1和t2,分别执行thread_callback_1和thread_callback_2函数,传递参数count。最后调用join方法确保线程执行完毕。虽然例子简单,但提到了多线程编程中的线程安全问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++中,可以使用std::thread库创建线程,并使用函数指针或lambda表达式作为回调函数。以下是一个示例代码,其中包含两个线程和其各自的回调函数:

#include <iostream>
#include <thread>
​
void thread_callback_1(int count) {
    for (int i = 0; i < count; i++) {
        std::cout << "Thread 1: " << i << std::endl;
    }
}
​
void thread_callback_2(int count) {
    for (int i = 0; i < count; i++) {
        std::cout << "Thread 2: " << i << std::endl;
    }
}
​
int main() {
    int count = 10;
​
    std::thread t1(thread_callback_1, count);
    std::thread t2(thread_callback_2, count);
​
    t1.join();
    t2.join();
​
    return 0;
}

在上述代码中,我们首先定义了两个回调函数thread_callback_1和thread_callback_2,分别用于处理两个线程的逻辑。然后,在main函数中,我们使用std::thread库创建了两个线程t1和t2,并将它们绑定到相应的回调函数上,同时传入count参数作为回调函数的参数。最后,我们调用join方法等待线程执行完毕。

需要注意的是,在多线程编程中,需要考虑线程安全性问题,如对共享资源的访问等。此处仅为简单示例,实际项目中需根据具体情况进行更严格的处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值