В моем многопоточном приложении у меня есть класс, содержащий переменную экземпляра 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();
...
}