read在c++多线程中的应用

   2024-10-01 8870
核心提示:在C++多线程编程中,std::thread库提供了一种简单的方法来创建和管理线程以下是一个使用C++11 std::thread库创建多线程的示例:#

在C++多线程编程中,std::thread库提供了一种简单的方法来创建和管理线程

以下是一个使用C++11 std::thread库创建多线程的示例:

#include<iostream>#include<thread>#include <mutex>std::mutex mtx; // 全局互斥锁void print_block(int n, char c) {    mtx.lock();    for (int i = 0; i < n; ++i) {        std::cout << c;    }    std::cout << '\n';    mtx.unlock();}int main() {    std::thread th1(print_block, 50, '*');    std::thread th2(print_block, 50, '$');    th1.join();    th2.join();    return 0;}

在这个示例中,我们创建了两个线程th1th2,它们分别调用print_block函数。print_block函数接收两个参数:一个整数n和一个字符c。函数将打印n次字符c。为了确保输出的正确性,我们使用互斥锁mtx来同步对std::cout的访问。

注意,在实际应用中,通常会使用更高级的同步原语(如条件变量、读写锁等)和线程安全的数据结构来处理复杂的并发问题。此外,C++标准库还提供了其他并发工具,如std::asyncstd::futurestd::promise,以及原子操作和内存模型等。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号