c# – 什么是神秘的ThreadSafeObjectProvider
发布时间:2020-12-15 21:24:04 所属栏目:百科 来源:网络整理
导读:正在浏览我的一个项目,偶然发现了我以前从未见过的MyWebExtentions文件中的以下代码(和类). Private s_Computer As New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Devices.ServerComputer)''' summary''' Returns information about the ho
正在浏览我的一个项目,偶然发现了我以前从未见过的MyWebExtentions文件中的以下代码(和类).
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,没有,尝试stackoverflow也没有.最后我确实找到了this文章,它确实解释了它允许你创建一个“线程安全,特定于线程的存储”,但没有解释,为什么或如何. 那么有人可以请你解释这个类的目的是什么,它是如何工作的以及在非设计器生成的代码中是否有适当的使用场景? 解决方法
当您希望特定变量是线程静态但需要为调用方法的每个上下文创建线程静态变量时.你会用这个.
这为每个上下文保留线程静态变量,其中将某些东西声明为线程静态将仅保留它创建它的线程. 这是我的理解,老实说这可能完全是假的,但我是如何解释它的,并作为我为何在WCF工作一段时间的原因的一个例子. 但是说真的,如果你必须这样做,那么这是我最好的回答. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |