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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hash算法在C++中的并發處理

發布時間:2024-11-20 11:07:29 來源:億速云 閱讀:78 作者:小樊 欄目:編程語言

在C++中,可以使用標準庫中的std::hash來處理哈希算法

#include <iostream>
#include <functional>
#include <thread>
#include <vector>
#include <mutex>

std::mutex mtx;

void hash_data(const std::string& data, std::size_t& hash_value) {
    std::hash<std::string> hasher;
    hash_value = hasher(data);
}

int main() {
    const std::vector<std::string> data_list = {"hello", "world", "cpp", "concurrency"};
    std::vector<std::size_t> hash_values(data_list.size());

    std::vector<std::thread> threads;
    for (size_t i = 0; i < data_list.size(); ++i) {
        threads.emplace_back(hash_data, std::ref(data_list[i]), std::ref(hash_values[i]));
    }

    for (auto& t : threads) {
        t.join();
    }

    for (size_t i = 0; i < hash_values.size(); ++i) {
        std::unique_lock<std::mutex> lock(mtx);
        std::cout << "Data: " << data_list[i] << ", Hash: " << hash_values[i] << std::endl;
        lock.unlock();
    }

    return 0;
}

在這個示例中,我們創建了一個hash_data函數,它接受一個字符串引用和一個哈希值引用。我們使用std::hash<std::string>來計算字符串的哈希值。

main函數中,我們創建了一個包含字符串的data_list和一個用于存儲哈希值的hash_values向量。然后,我們創建了一個線程池,并為每個數據項分配一個線程來計算其哈希值。最后,我們等待所有線程完成,并輸出結果。

注意,我們在輸出哈希值時使用了互斥鎖mtx來確保線程安全。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

本溪| 醴陵市| 迁西县| 康定县| 黔西| 永年县| 高平市| 文安县| 滦南县| 望城县| 无极县| 衡阳县| 盖州市| 武穴市| 贵南县| 兰西县| 澄迈县| 漠河县| 河池市| 墨脱县| 皮山县| 虹口区| 邓州市| 曲麻莱县| 武强县| 绥芬河市| 海阳市| 商水县| 烟台市| 绥棱县| 平定县| 宁强县| 泾源县| 宾阳县| 怀宁县| 寻甸| 巫溪县| 来安县| 临夏县| 霍山县| 井陉县|