我在讀關於CallContext類(http://msdn.microsoft.com/en-us/library/system.runtime.remoting.messaging.callcontext.aspx)。該文檔說明了一些關於「邏輯線程」和「線程本地存儲」的內容。.Net:邏輯線程和線程本地存儲?
什麼是邏輯線程,我不知道存在多種線程?
什麼是線程本地存儲,它是某種類或某種原理?
我一直沒能找到它在MSDN上,但我敢肯定它是有一些地方,所以任何鏈接將是巨大的:-)
我在讀關於CallContext類(http://msdn.microsoft.com/en-us/library/system.runtime.remoting.messaging.callcontext.aspx)。該文檔說明了一些關於「邏輯線程」和「線程本地存儲」的內容。.Net:邏輯線程和線程本地存儲?
什麼是邏輯線程,我不知道存在多種線程?
什麼是線程本地存儲,它是某種類或某種原理?
我一直沒能找到它在MSDN上,但我敢肯定它是有一些地方,所以任何鏈接將是巨大的:-)
邏輯線程是概念可以追溯到COM,OLE和RPC,也適用於遠程處理場景。一個邏輯線程跟蹤一個同步調用的執行,當它跨越各種邊界傳播時,包括COM公寓,RPC和遠程邊界。
當您考慮兩個完全不相關的組件可能嘗試在同一邊界執行操作的可能性時,這是一個非常重要的概念。諸如COM之類的技術必須能夠區分進入其邊界(公寓)的新呼叫和完全不相關的呼叫,以保證諸如同步執行之類的事情。
邏輯線程很難在一個小的SO帖子中解釋。我recomendation是谷歌/冰的「RPC邏輯線程」,並從那裏去
線程本地存儲是一個相當容易一點來解釋。這是一個存儲單元,對於進程中的每個線程都是唯一的。基本的想法是,你首先分配一個密鑰。然後您可以使用該鍵查詢每個單獨的線程。每個線程將爲該鍵保持不同的空間,因此具有單獨的值。
因此線程本地存儲也只是一個概念,在.Net中可以通過使用CallContext類來實現? – Karsten 2009-06-18 07:44:11