首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在多线程App中使用时,"private readonly int“必须是线程安全的吗?

在多线程App中使用时,"private readonly int“必须是线程安全的吗?
EN

Stack Overflow用户
提问于 2018-06-05 21:51:35
回答 1查看 58关注 0票数 1

在我的多线程应用程序中,我有一个包含private readonly实例变量的类,该变量在构造函数中由一个随机数初始化。

代码语言:javascript
复制
class MyClass
{
  private readonly int randomNumber;


  public MyClass()
  {
    randomNumber = new Random().Next();
  }

  // Is called by different threads
  public int getRandomNumber()
  {
   return randomNumber;
  }
}

在应用程序中,getRandomNumber()由多个线程调用。我必须采取任何关于线程安全的预防措施吗?

作为后续问题:当我将变量设置为静态并在声明时将其初始化时,我的威胁-安全问题会发生什么变化?

代码语言:javascript
复制
class MyClass
{
  private static readonly int randomNumber = new Random().Next();

  ...
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-05 22:00:21

只有在读和写都需要注意的情况下,但由于您的变量是只读的,我认为无论是多线程还是单线程,都没有必要采取任何预防措施。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50701833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档