ThreadStatic特性簡介

2021-09-25 16:48:43 字數 893 閱讀 9167

在程式中,類的靜態成員變數(c#:static;vb:shared),在使用時,會在該類的多個例項之間共享。

在多執行緒場合下,也不例外。有些讀者或許會想到如何建立每個執行緒自己的靜態變數呢,這裡threadstaticattribute就提供了一種十分簡單的方法。

可以通過追加自定義特性「c#:[threadstatic];vb:」的方法來實現。

具體可以參照下面的例子:

class program

[threadstatic]

static

int threadstaticvalue;

static

int staticvalue;

static random r = new random();

public

static

void threadproc()

console.writeline("

: threadstatic:; static:

", thread.currentthread.name, threadstaticvalue, staticvalue);

thread.sleep(500);}}

}

可以看到,**中定義了兩個靜態變數,乙個是被threadstatic特性修飾的threadstaticvalue變數,還有乙個就是一般的靜態變數。

我們在程式中起了2個執行緒,用來檢視實行的結果。

首先,我們使用隨機數初始化了兩個靜態成員變數,然後執行緒1每過0.5秒把變數自增長1。

通過值的變化,我們就可以容易理解threadstatic的用途了。

筆記 簡譯 WPF的新特性 路由事件(1)

路由事件 routed event 就像 wpf在 net 屬性之上新增了許多基礎結構一樣,它也在 net 事件之上新增了許多基礎結構。路由事件是一種與樹上元素協同工作的事件,當它被觸發後,能夠沿著邏輯樹和視覺樹上 下傳遞,觸發每個子元素的對應事件,不需要任何自定義的 事件路由幫助大多數應用程式遮蔽...

JS簡簡簡易時鐘

簡易時鐘 1 搭建html css部分 插入時鐘背景,使用子絕父相。把時針和分針 秒針的樣式放在時鐘的中心位置 2 js邏輯部分 1 獲取時針 分針 秒針 var hour document.getelementbyid hour var min document.getelementbyid mi...

單結電晶體的導電特性 單結電晶體的特性及簡單測試

單結電晶體是近些年發展起來的一類新型電子器件,它具有一種重要的電氣效能 負阻特性,可以使自激多諧振盪器 階梯波發生器及定時電路等多種脈衝產生單元電路的結構大為簡化,故而應用十分廣泛。上圖1為單結電晶體的特性檢測電路。在兩基極之間外加固定的正向偏壓vbb,調節發射極的電壓ve,根據ie與ve的變化關係...