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

溫馨提示×

c++ cout如何實現多線程輸出

c++
小樊
101
2024-08-13 00:39:40
欄目: 編程語言

在C++中,可以使用std::mutex來實現多線程輸出。std::mutex是C++11標準引入的線程同步原語,可以用來保護共享資源,防止多個線程同時訪問。

下面是一個使用std::mutex來實現多線程輸出的示例代碼:

#include <iostream>
#include <thread>
#include <mutex>

std::mutex g_mutex;

void printHello(int threadID) {
    // 加鎖
    std::lock_guard<std::mutex> lock(g_mutex);
    
    // 輸出
    std::cout << "Hello from thread " << threadID << std::endl;
}

int main() {
    std::thread t1(printHello, 1);
    std::thread t2(printHello, 2);
    
    t1.join();
    t2.join();
    
    return 0;
}

在上面的示例代碼中,我們定義了一個printHello函數來輸出線程的ID。在函數中我們使用std::lock_guard<std::mutex>來對g_mutex進行加鎖,確保多個線程不會同時訪問std::cout,從而避免輸出混亂的情況。

main函數中,我們創建了兩個線程t1t2,分別調用printHello函數輸出線程的ID。最后通過調用t1.join()t2.join()來等待線程執行完畢。

通過這種方式,我們可以實現多線程輸出,確保輸出的順序是正確的。

0
元氏县| 襄城县| 襄樊市| 阿城市| 临安市| 南皮县| 普宁市| 建阳市| 留坝县| 郎溪县| 惠东县| 深水埗区| 滨海县| 贵定县| 托里县| 桦川县| 潜江市| 安阳市| 孟州市| 拉萨市| 双柏县| 钦州市| 辰溪县| 南靖县| 临安市| 泽库县| 施秉县| 滁州市| 台南县| 汶上县| 当阳市| 启东市| 曲麻莱县| 布尔津县| 册亨县| 井陉县| 恩施市| 龙门县| 措美县| 青铜峡市| 普兰店市|