gpt4 book ai didi

c# - 什么是神秘的ThreadSafeObjectProvider

转载 作者:行者123 更新时间:2023-11-30 12:51:09 25 4
gpt4 key购买 nike

浏览我的一个项目时,偶然发现了我以前从未见过的文件 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 工作一段时间的一个例子。

说真的,如果必须的话,请投反对票,但这是我最好的回答。

关于c# - 什么是神秘的ThreadSafeObjectProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7565882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com