正在瀏覽我的一個項目,偶然發現了我以前從未見過的MyWebExtentions文件中的以下代碼(和類)。什麼是神祕的ThreadSafeObjectProvider
Private s_Computer As New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Devices.ServerComputer)
''' <summary>
''' Returns information about the host computer.
''' </summary>
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend ReadOnly Property Computer() As Global.Microsoft.VisualBasic.Devices.ServerComputer
Get
Return s_Computer.GetInstance()
End Get
End Property
所以,我試圖尋找對象資源管理器和它不出現,搜索MSDN並沒有什麼,試圖計算器也沒什麼。最後,我發現this文章解釋說它允許你創建一個「線程安全的,線程特定的存儲」,但並不能解釋爲什麼或者如何。
那麼有人可以請客氣一些,以解釋這個類的目的是什麼,它是如何工作的,以及在非設計器生成的代碼中是否存在此類的任何適當的使用場景?
我的猜測是,代碼是從這裏借用/翻譯的:http://bartdesmet.net/blogs/bart/archive/2006/03/14/3824.aspx – LukeH
這是內部管道的一部分,使得我的命名空間在VB中工作。它沒有什麼有趣的地方,只是一個具有遠程處理意識的單例提供者,並不是線程安全的。今天,你會考慮'懶惰的'類來完成相同的。 –