thread-static

    9熱度

    2回答

    [ThreadStatic] private static Foo _foo; public static Foo CurrentFoo { get { if (_foo == null) { _foo = new Foo(); } return _foo; } } 以前的代碼線程安全嗎?或者我們需要鎖定方法嗎?

    5熱度

    2回答

    首先,我希望基於上下文的存儲在整個框架中保持一致!這就是說,我正在尋找一個優雅的解決方案,使這些屬性在ASP.NET,WCF和任何其他多線程.NET代碼中保持安全。這些屬性位於一些低級別的跟蹤幫助器中(如果您想知道爲什麼它們是內部的,則通過方法公開這些屬性)。 我寧願沒有依賴不需要的程序集(如System.Web等)。我不想要求任何人使用此代碼來配置任何東西。我只是想要它的工作;)這可能是一個高的

    9熱度

    1回答

    ThreadStatic attribute將靜態變量聲明爲unique-per-thread。 你知道一個簡單的模式來正確處理這些變量嗎? 我們在ThreadStatic之前使用的是一個ThreadContextManager。每個線程都分配了一個保留所有線程特定信息的ThreadContext。我們產生了一些線程並讓它們工作。然後,當它們全部完成時,我們拋棄了ThreadContentMana