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

溫馨提示×

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
侯马市| 滦南县| 云和县| 平定县| 霍邱县| 四平市| 滦平县| 旬邑县| 济源市| 读书| 边坝县| 广丰县| 大化| 蒙阴县| 沙河市| 玉溪市| 依安县| 饶平县| 武定县| 长泰县| 黄冈市| 威远县| 内江市| 拉萨市| 曲靖市| 华阴市| 海阳市| 中江县| 海林市| 威宁| 前郭尔| 武定县| 新乡县| 蓬莱市| 杭锦旗| 应用必备| 汉阴县| 调兵山市| 景泰县| 昌宁县| 灵璧县|