thead local修飾的變數

2021-09-29 03:04:45 字數 653 閱讀 3378

thread_local變數是c++11引入的乙個新的儲存型別,它將影響變數的生存期。

命名空間下的全域性變數

類的靜態成員變數

區域性變數

下面通過乙個小例子觀察thread_local修飾的變數的初始化過程與生存期

#include

#include

#include

using std::cout;

using std::endl;

class

customevariable

~customevariable()

void

setname

(const std::string& name)

std::string getname()

const

private

: std::string name_;};

class

demo

;std::ostream&

print

(std::ostream& os, demo* ptr)

thread_local customevariable demo::custom_variable_;

intmain()

TheadLocal執行緒本地變數

複習再複習,結果面試被提問,回答得亂七八糟。這裡對這個概念做總結!threadlocal高併發使用 獲取當前執行緒物件 t,獲取執行緒物件t內部的threadlocalmap變數 執行緒t的threadlocalmap變數不為空則對其賦值 為空則建立乙個新的map到該執行緒變數 每個執行緒內部都有t...

變數與修飾變數

變數的屬性 儲存位置 變數使用的是那一段記憶體 作用域 變數的使用範圍 生命週期 建立時間 銷毀時間 變數的分類 全域性變數 定義在函式外。儲存位置 bss未初始化 被初始化了儲存在data。作用域 整個程式,比如在a.c定義了全域性變數,在b.c中也可以使用 生命週期 main函式執行前就被定義出...

mutable 修飾的變數

mutable 可以用來指出,即使結構或者類變數為const,其某個成員也可以被修改 在c 的類中,如果乙個函式被const 修飾,那麼它將無法修改其成員變數的,但是如果這個成員變數是被mutable修飾的話,則可以修改。例如 struct data char name 30 mutable int...