|
大家都知道引用類型對(duì)象除實(shí)例字段的開銷外,還有兩個(gè)字段的開銷:類型指針和同步塊索引(SyncBlockIndex)。同步塊索引這個(gè)東西比起它的兄弟類型指針更少受人關(guān)注,顯得有點(diǎn)冷落,其實(shí)此兄功力非凡,在CLR里可謂叱咤風(fēng)云,很多功能都要借助它來實(shí)現(xiàn)。 接下來我會(huì)用三篇來介紹同步塊索引在.NET中的所作所為。
既然本章副標(biāo)題是從lock開始,那我就舉幾個(gè)lock的示例:
代碼1
1: public class Singleton
2: {
3: private static object lockHelper = new object();
4: private static Singleton _instance = null;
5: public static Singleton Instance
6: {
7: get
8: {
9: lock(lockHelper)
10: {
11: if(_instance == null)
12: _instance = new Singleton();
13: }
14: return _instance;
15: }
16: }
17: }
NET技術(shù):揭示同步塊索引(上):從lock開始,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。