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

溫馨提示×

C++ ThreadLocal 怎么使用lambda

c++
小樊
82
2024-07-21 02:34:56
欄目: 編程語言

在 C++ 中,可以使用 thread_local 關鍵字來聲明一個線程局部變量。Lambda 表達式可以被當做一個函數對象,因此可以在 lambda 中使用線程局部變量。下面是一個簡單的例子:

#include <iostream>
#include <thread>

int main() {
    thread_local int threadLocalVar = 0;

    std::thread t1([&](){
        threadLocalVar = 10;
        std::cout << "Thread 1: threadLocalVar = " << threadLocalVar << std::endl;
    });

    std::thread t2([&](){
        threadLocalVar = 20;
        std::cout << "Thread 2: threadLocalVar = " << threadLocalVar << std::endl;
    });

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

    std::cout << "Main thread: threadLocalVar = " << threadLocalVar << std::endl;

    return 0;
}

在這個例子中,我們聲明了一個 thread_local 的整型變量 threadLocalVar,然后在兩個線程中分別對這個變量賦值并輸出。在 lambda 表達式中,我們使用 [&] 指定捕獲所有外部變量,以便在 lambda 中使用 threadLocalVar 變量。

注意:C++11 引入了 thread_local 關鍵字,因此在編譯時需要使用 -std=c++11 或更高版本的標準。

0
汤阴县| 灌阳县| 渝北区| 双辽市| 维西| 织金县| 大渡口区| 邵阳市| 沽源县| 拉孜县| 龙南县| 文安县| 汤阴县| 兴海县| 云和县| 喀什市| 任丘市| 马鞍山市| 革吉县| 嘉义县| 江都市| 济宁市| 车致| 霍州市| 蒲江县| 乌拉特后旗| 罗山县| 随州市| 来安县| 绥芬河市| 福建省| 淮安市| 呼和浩特市| 惠州市| 罗源县| 西乡县| 宣威市| 牡丹江市| 白玉县| 永定县| 玉溪市|