在我的多线程应用程序中,我有一个包含private readonly
实例变量的类,该变量在构造函数中由一个随机数初始化。
class MyClass
{
private readonly int randomNumber;
public MyClass()
{
randomNumber = new Random().Next();
}
// Is called by different threads
public int getRandomNumber()
{
return randomNumber;
}
}
在应用程序中,getRandomNumber()
由多个线程调用。我必须采取任何关于线程安全的预防措施吗?
作为后续问题:当我将变量设置为静态并在声明时将其初始化时,我的威胁-安全问题会发生什么变化?
class MyClass
{
private static readonly int randomNumber = new Random().Next();
...
}
发布于 2018-06-05 22:00:21
只有在读和写都需要注意的情况下,但由于您的变量是只读的,我认为无论是多线程还是单线程,都没有必要采取任何预防措施。
https://stackoverflow.com/questions/50701833
复制相似问题