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

溫馨提示×

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
启东市| 融水| 新野县| 保德县| 天祝| 长春市| 忻州市| 宜兰县| 蒲城县| 宝清县| 洪江市| 镇原县| 泰顺县| 长垣县| 鲜城| 泽州县| 怀宁县| 威远县| 巩义市| 万宁市| 万盛区| 西贡区| 隆尧县| 黎城县| 翁牛特旗| 卢湾区| 襄汾县| 晴隆县| 南岸区| 福安市| 庆安县| 甘洛县| 巩义市| 汽车| 建瓯市| 松桃| 来凤县| 太原市| 巫山县| 托克逊县| 开江县|