在应用程序启动时,我在后台线程上实例化一个类,然后将其分配给一个变量。我稍后从我的主线程访问该变量。这个变量只赋值一次。
我的理解是我不需要在这里使用 volatile 关键字,因为在 UI 线程中第一次访问引用之前,无法缓存该引用。我的想法是否正确,还是我遗漏了什么?
最佳答案
Am I correct?
是的。只有当一个线程重复读取一个变量(从另一个线程写入)时,缓存才是一个问题。
因为分配给引用是原子的,所以你很安全。
关于c# - 在后台线程上初始化时,我的字段应该是易变的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13246401/