c# - 在后台线程上初始化时,我的字段应该是易变的吗?

标签 c# .net multithreading

在应用程序启动时,我在后台线程上实例化一个类,然后将其分配给一个变量。我稍后从我的主线程访问该变量。这个变量只赋值一次。

我的理解是我不需要在这里使用 volatile 关键字,因为在 UI 线程中第一次访问引用之前,无法缓存该引用。我的想法是否正确,还是我遗漏了什么?

最佳答案

Am I correct?

是的。只有当一个线程重复读取一个变量(从另一个线程写入)时,缓存才是一个问题。

因为分配给引用是原子的,所以你很安全。

关于c# - 在后台线程上初始化时,我的字段应该是易变的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13246401/

相关文章:

c# - MVC 5 asp.net,从 Controller 到 View 的 viewbag 不工作

c# - 如何将通用数组转换为另一种类型?

c# - 为C#Web应用程序和库设置持续集成服务器

.net - Ftp GetFileSize 随机抛出 FTP 错误 503(命令序列错误)

c++ - 在异步 TCP 服务器的上下文中从 N-theads 访问数据时的线程安全

c# - 创建动态图表工具提示

c# - MongoDB $first 不支持的错误 C# 驱动程序

c# - C# 和 .NET 3.5 中的图像大小调整效率

multithreading - delphi中的类属性线程安全吗?

java - Try-with-resources 和 ServerSockets