91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
彩票| 天长市| 姜堰市| 东宁县| 克拉玛依市| 怀安县| 合江县| 汝阳县| 新绛县| 万安县| 南投市| 武平县| 广宁县| 西畴县| 海南省| 通江县| 化隆| 仙游县| 安达市| 定远县| 奉贤区| 平度市| 湘潭市| 甘泉县| 隆昌县| 政和县| 崇明县| 城固县| 胶南市| 阿合奇县| 平果县| 浦江县| 苗栗市| 东明县| 沿河| 自治县| 鹤壁市| 修文县| 平顺县| 青田县| 咸宁市|