这是初始化 [ThreadStatic] 的线程安全方法吗?

2024-02-19



[ThreadStatic]
private static Foo _foo;

public static Foo CurrentFoo {
   get {
     if (_foo == null) {
         _foo = new Foo();
     }
     return _foo;
   }
}
  

前面的代码线程安全吗?或者我们需要锁定该方法吗?


如果是 ThreadStatic,则每个线程只有一份副本。因此,根据定义,它是线程安全的。

这个博客有一些关于 ThreadStatic 的好信息。 https://learn.microsoft.com/en-us/archive/blogs/jfoscoding/are-you-familiar-with-threadstatic

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这是初始化 [ThreadStatic] 的线程安全方法吗? 的相关文章

  • ConcurrentHashMap.computeIfAbsent 和 ConcurrentHashMap.computeIfPresent 中 `mappingFunction` 的执行

    我正在尝试查看实际的 Java 文档 描述了多少次的行为mappingFunction可以在传递给时调用ConcurrentHashMap computeIfAbsent and ConcurrentHashMap computeIfPre
  • “thread._local”对象没有属性

    我试图通过添加上下文过滤器来更改日志记录格式 我的格式是这样的 FORMAT asctime s VAL s message s 这是我用来设置格式中的 VAL 的类 class TEST def init self val self te
  • 如何在 bash 脚本中使用并行编程/多线程?

    这是我的脚本 bin bash script to loop through directories to merge fastq files sourcedir path to source destdir path to dest fo
  • Android Thread、AsyncTask 与从 BLE onCharacteristicChanged() 调用的 IntentService

    我有一个 Android 应用程序 我从中接收 BLE 数据 每 62 毫秒通过通知 该应用程序可以通过 BufferedWriter 将数据保存到文件中 在每次 onCharacteristicChanged 回调时 如果用户启用了文件保
  • Dart 是单线程的,但为什么它使用 Future 对象并执行异步操作

    在文档中 Dart 是单线程的 但为了一次执行两个操作 我们使用与线程相同工作的 future 对象 使用Future对象 futures 来执行异步操作 如果 Dart 是单线程的 那么为什么它允许执行异步操作 Note 异步操作是并行操
  • 使用 .Net HttpListener 进行多线程

    我有一个听众 listener new HttpListener listener Prefixes Add http 8077 listener Start listenerThread new Thread HandleRequests
  • 通过不同的线程使用多个 ORB(多线程多 Orb 客户端应用程序) - 如何?

    This question is related to Is it possible to have several ORB objects in the same process https stackoverflow com quest
  • boto 库是线程安全的吗?

    具体来说 我对从多个线程 放置 获取 更新等 使用 DynamoDB 表对象感兴趣 如果这不安全 那么是否有一种安全的方法 即每个线程可能有一个表对象 关于在 boto 中使用线程的任何其他陷阱或技巧表示赞赏 boto 库使用 httpli
  • 发布/订阅架构

    我尝试编写一个发布 订阅系统 客户端和服务器端 其中客户端接收定期更新 如心跳 消息控制 并可以向服务器发出命令 订阅某些源 这样做的好方法是什么 我已经有一个实现线程池的服务器来管理传入的客户端连接 我想知道如何处理连接双方都可以在 Ne
  • 为什么将 volatile 与同步块一起使用?

    我在java中看到了一些示例 其中他们在代码块上进行同步以更改某些变量 而该变量最初被声明为易失性 我在单例类的示例中看到 他们将唯一实例声明为易失性 并且同步了该块初始化该实例 我的问题是为什么我们在同步它时声明它是易失性的 为什么我们需
  • Qt中用于线程间通信的类设计

    问题陈述 用相机跟踪物体并相应地移动相机的方位角和仰角 Process 相机获取物体的图像 处理相机的每一帧以查找物体 应该被跟踪 并将每帧中生成的信息传递给机械设备 万向节 以平移和倾斜方式移动摄像机 Design 主 Gui 在一个线程
  • C# 中的线程和 GUI 元素

    我正在尝试制作一个基本的 IRC 客户端 但我的问题是让文本显示在 RTF 框中而不出现滞后 我决定使用线程 并且我想更新线程中的 RTF 框 但我不能 因为它给了我关于 RTF 框元素不是静态的错误 有什么见解吗 如果你们想要的话我会粘贴
  • Android SurfaceView 使用线程绘制画布

    我正在尝试使用线程在画布上绘图来创建一个简单的游戏引擎 但我遇到了一些无法解释的奇怪问题 这个 游戏 的目的是每秒在画布上画一个圆圈 这是可行的 但不是我想要的工作方式 似乎应用程序正在两个画布之间切换 并向每个画布添加一个圆圈 这样您就可
  • Java中的process_reaper线程是什么?

    随着时间的推移 我的应用程序中逐渐积累了数百个 process reaper 线程 有人知道这些可能是什么吗 它们似乎在我使用 Runtime exec 中 但是我在 finally 语句中破坏了我的进程 但它们仍然出现 截屏 http w
  • 原始类型是易失性的还是同步的?

    在 Java 中 如果变量的大小小于或等于 32 位 则赋值是原子的 但如果变量的大小大于 32 位 则赋值不是原子的 在双重或长分配的情况下 使用什么 易失性 同步 会更有效 Like volatile double x y 同步不适用于
  • 在Spring中使用什么样的“EventBus”?内置、Reactor、Akka?

    我们将在几周后启动一个新的 Spring 4 应用程序 我们希望使用一些事件驱动的架构 今年 我到处读到有关 Reactor 的内容 在网上查找时 我偶然发现了 Akka 所以现在我们有3个选择 春天的ApplicationEvent ht
  • 为什么 GetThreadTimes 返回

    我试图测量线程中花费的时间以用于进度报告目的 但我从 GetThreadTimes 系统调用中得到非常奇怪的结果 给出以下程序 在 VS 2013 中编译 针对 NET 4 5 using System using System Diagn
  • ASP.NET 开发人员真的需要关心线程安全吗?

    我认为自己了解线程的概念以及为什么某些代码是或不是 线程安全 的 但作为主要使用 ASP NET 的人 线程和线程安全是我很少考虑的事情 然而 我似乎在 Stack Overflow 上遇到了大量评论和答案 不一定适用于 ASP NET 大
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • 为什么 gridfs get 不能仅按文件名处理文件 id (ObjectId)

    我正在使用nodejs mongodb mongoose 和gridfs 当我尝试通过文件名获取文件时 如果我想通过 id 获取它 那么一切都工作得很好 错误 您要读取的文件不存在 我使用以下代码 console log res pic i
  • 在 MySQL 中使行处于非活动状态

    是否有可能使 MySQL 中的一行处于非活动状态 那么查询结果中不再使用这一行 我的客户希望保留已删除的成员存在于数据库中 但我不想编辑所有查询来检查成员是否已删除 或者是否有一种简单的方法将整个行数据移动到另一个 非活动 表中 您可以重命
  • PHP curl FTPes w/显式 TLS/SSL

    我一直在尝试使用显式 TLS SSL 服务器推送到远程 FTP 但连接始终超时 它正在连接 但我不知道它在哪里停止 但我假设它与 FTP TLS SSL 控制通道有关 任何帮助将不胜感激 通过 FileZilla 我可以毫无问题地进行连接
  • 将 Groovy 应用程序和测试代码与 jlink 解决方案结合使用来捆绑 JavaFX

    这是继这个优秀的解决方案 https stackoverflow com a 58541585 595305如何让 Gradle 将 JavaFX 与您的发行版捆绑在一起的问题 注意规格 Linux Mint 18 3 Java 11 Ja
  • 如何在构建服务器上使用“firebase login:ci”

    我正在使用以下命令运行nodejs构建Github 工作流程 https help github com en actions automating your workflow with github actions configuring
  • 将实际值从 fortran77 dll 返回到 c#

    有人可以指出我在这里做错了什么吗 FORTRAN 77 dll 代码 pragma aux DON DON export parm value 8 value 8 SUBROUTINE DON DAA DBB DCC REAL 8 DAA
  • Javascript:将 OOP 方法附加到事件和“this”关键字

    我是 OOP Javascript 新手 并且在使用时遇到问题this关键字和事件 我想要实现的是 我有多个 DOM 对象 并且不仅希望将公共事件绑定到它们 还希望将有关上述对象的一些数据保留在全局容器中 以提高运行时性能 所以我所做的基本
  • 为什么使用 scanf 读入字符串缓冲区可以在有或没有与号 (&) 的情况下工作?

    我对某事有点困惑 我的印象是读取 C 字符串的正确方法是scanf 沿着 不用担心可能的缓冲区溢出 这只是一个简单的例子 char string 256 scanf s string 然而 以下似乎也有效 scanf s string 这只
  • 比较 Excel 工作簿中两个工作表的最佳方法是什么

    鉴于我有以下内容
  • 为什么要使用字段而不是属性?

    我对 C 还很陌生 我认为属性是一件很棒的事情 事实上 这太棒了 以至于我看不出使用字段有任何真正的优势 即使对于私人领域 属性提供的灵活性和模块化似乎充其量可以让您避免严重的头痛 而最坏的情况则根本没有任何效果 我看到的字段的唯一优点是您
  • 将 iPhone X 旋转至横向时,封面图像左侧和下方出现空白

    今天出现了一个奇怪的问题 在测试一个简单的 即将推出 页面时 我的 iPhone X 上的背景图像在旋转到横向时没有填充整个视口 在 Chrome 和 Safari 中测试 产生问题的简化示例 html background url htt
  • 如何使这些按钮不显示为蓝色链接

    所以我只是想创建一个小网站 别担心这不会发生 作为标题 目前 主页 新闻 图库 和 关于我们 并不是指向另一个页面的实际按钮 当我做 a href Mainpage htm Home a 该按钮变成紫色并带有下划线 我知道这就是链接的显示方
  • 实体框架一对零或一外键关联

    我正在更改现有应用程序的后端以使用实体框架代码优先 我使用 Visual Studio 2015 中的内置工具根据现有数据库生成 POCO 类 这在大多数情况下都非常有效 除了两个具有一对零或一关系的类之外 这些是我的 简化的 课程 pub
  • 在 Shiny 中获取响应头变量

    我的 apache 将 LDAP 登录传递给变量X 远程用户在标题中 但我不知道如何在 Shiny 应用程序中获取它 有任何想法吗 也许解决方案可以是一些java脚本 好吧 我解决了 首先包含在ui Rjs函数 www js getLogi
  • Elasticsearch 自动完成或按令牌自动建议

    我想就如何基于标记完成术语提出建议 类似于谷歌的自动完成功能 但仅使用一个标记或单词 我想搜索将被标记化的文件名 例如 BRAND Connect A1233 jpg 被标记为 brand connect a1234 和 jpg 现在我想征
  • 如何在 Visual Studio 中搜索特定数据库表

    我在 Visual Studio 中有 6 个 dtsx 设计 文件 作业步骤 大多数情况下 作业步骤运行 sql 代码并删除 创建 复制表 如何搜索某个特定表格被触摸的位置 我尝试了 control F 并浏览了菜单中的搜索选项 我不认为
  • DataGridRow 上的 WPF DataGrid MouseOver

    我不明白为什么代码的第一部分不起作用 但第二部分却起作用 PART 1
  • 数据帧中值对出现的次数

    我有包含以下列的数据框 Name Surname dateOfBirth city country 我有兴趣找出最常见的名字和姓氏组合以及它出现的频率 如果能看到前 10 名组合的列表就好了 我对第一名的想法是 mostFreqComb d
  • AWS Lambda Java函数被多次调用

    我有一个AWS我用 Java 编写的 Lambda 函数 实际上是用 Clojure 编写的 每次运行它时它似乎都会被调用 3 次 我的函数在超时 设置为最长 5 分钟 内成功运行 它返回一个字符串 当我在控制台中测试该函数时 我可以看到输
  • 这是初始化 [ThreadStatic] 的线程安全方法吗?

    ThreadStatic private static Foo foo public static Foo CurrentFoo get if foo null foo new Foo return foo 前面的代码线程安全吗 或者我们需