亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++多線程加鎖怎么實現

c++
小億
106
2023-11-16 00:52:39
欄目: 編程語言

在C++中,可以使用std::mutex來實現多線程加鎖。下面是一個簡單的示例:

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

std::mutex mtx; // 創建一個互斥鎖

void printNumber(int num) {
    mtx.lock(); // 加鎖
    std::cout << num << std::endl;
    mtx.unlock(); // 解鎖
}

int main() {
    std::thread t1(printNumber, 1);
    std::thread t2(printNumber, 2);

    t1.join();
    t2.join();

    return 0;
}

在上面的示例中,我們首先創建了一個std::mutex對象mtx作為互斥鎖。然后在printNumber函數中,我們使用mtx.lock()來加鎖,保證只有一個線程能夠訪問std::cout輸出語句。在輸出完成后,使用mtx.unlock()進行解鎖。

main函數中,我們創建了兩個線程t1t2,分別調用printNumber函數,傳入不同的參數。最后,通過t1.join()t2.join()等待兩個線程執行完成。

需要注意的是,互斥鎖應該在使用完后及時解鎖,以避免死鎖的發生。

0
泾川县| 郎溪县| 普格县| 海门市| 宜阳县| 新蔡县| 鹤峰县| 蒙阴县| 乌拉特中旗| 罗山县| 临邑县| 奇台县| 山东| 广安市| 虹口区| 张家川| 五莲县| 高清| 梨树县| 邻水| 勐海县| 河北省| 江陵县| 揭西县| 会宁县| 德钦县| 崇信县| 陇西县| 绥宁县| 长宁区| 利辛县| 固阳县| 沈阳市| 手机| 永胜县| 玛曲县| 新田县| 玉林市| 中卫市| 十堰市| 甘德县|