中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

read在c++多線程中的應用

c++
小樊
83
2024-08-28 02:20:42
欄目: 編程語言

在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,以及原子操作和內存模型等。

0
子洲县| 富宁县| 平安县| 维西| 黄冈市| 山东省| 泸溪县| 绥化市| 新民市| 铜川市| 华安县| 九龙县| 五寨县| 龙岩市| 开江县| 德钦县| 抚远县| 阿城市| 三门峡市| 平塘县| 林周县| 宜兰市| 宕昌县| 久治县| 年辖:市辖区| 凌云县| 美姑县| 宜州市| 逊克县| 营山县| 莒南县| 根河市| 子洲县| 池州市| 陆良县| 泉州市| 文山县| 东乌珠穆沁旗| 承德市| 贵阳市| 石嘴山市|