[C#] 簡單測試 ThreadStatic ,一個可以瞬間了解的範例
2023-11-11
最近在玩一些東西,看到一個有趣的東西,已經出來很久了,但是最近才看到覺得很有趣
但是看了一下官方範例有點看不太懂,之後自己測試一下才發現原來是這樣設計使用的
就是一個 Attribute 叫做 [ThreadStatic]
簡單的說,一般狀況,我們在 宣告一個 static 得值,任何 Thread 去存取他,都會造成本體的影響
但是透過[ ThreadStatic] 會按照 Thread 切開變成原始的值,簡單的說是這樣直接看範例可以秒懂..
Result:
從案例看一看就懂,對於 var2 來說,兩隻 Thread 都會進行存取,所以寫入的值是哪一個 Thread 是不確定的
而且值也會往上加上去,但是加上 [ThreadStatic] 就會根據 Thread 切開
詳細可以參考這裡:
https://zhuanlan.zhihu.com/p/307526186 - 這裡有詳細說明到底TreadStaitc 在 執行中的變化
https://www.cnblogs.com/ryanzheng/p/10962513.html