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

溫馨提示×

C++多線程之使用Mutex的方法是什么

c++
小億
102
2023-09-14 11:44:33
欄目: 編程語言

在C++中使用Mutex(互斥鎖)來實現多線程同步的方法如下:

  1. 包含頭文件:首先要包含頭文件 <mutex>

  2. 創建Mutex對象:使用 std::mutex 類創建一個Mutex對象。

std::mutex mutex;
  1. 加鎖:在需要保護共享資源的代碼塊之前調用 mutex.lock() 來加鎖。
mutex.lock();
  1. 解鎖:在代碼塊結束之前使用 mutex.unlock() 來解鎖。
mutex.unlock();

完整示例代碼如下:

#include <iostream>
#include <thread>
#include <mutex>
std::mutex mutex;
void printMessage(int id, const std::string& message) {
mutex.lock();
std::cout << "Thread " << id << ": " << message << std::endl;
mutex.unlock();
}
int main() {
std::thread t1(printMessage, 1, "Hello");
std::thread t2(printMessage, 2, "World");
t1.join();
t2.join();
return 0;
}

在上述示例代碼中,我們創建了一個Mutex對象 mutex,然后在 printMessage 函數中使用 mutex.lock() 加鎖,在代碼塊結束之前使用 mutex.unlock() 解鎖。這樣可以確保在任意時刻只有一個線程可以訪問共享資源,從而避免競爭條件和數據競爭。

0
昌都县| 疏勒县| 灵石县| 南丹县| 桓台县| 洛阳市| 阿合奇县| 枞阳县| 巴林左旗| 昌乐县| 伊金霍洛旗| 博野县| 鹿邑县| 平昌县| 那曲县| 乌鲁木齐市| 卢氏县| 荆州市| 上犹县| 上饶市| 望奎县| 固始县| 黄浦区| 印江| 江孜县| 探索| 阿合奇县| 清远市| 太原市| 师宗县| 弋阳县| 尼勒克县| 汨罗市| 娄烦县| 开封市| 岳普湖县| 涪陵区| 浑源县| 婺源县| 靖西县| 越西县|