Я реализую этот класс как одноэлементный. Я плохо разбираюсь в безопасности потоков. Хотелось убедиться, что класс GenerateOrderID является потокобезопасным. Более конкретно, переменная orderCount не может одновременно увеличиваться на разные объекты и вызывать подсчет.Является ли этот класс потоком безопасным?
public class OrderIDGenerator
{
private static readonly OrderIDGenerator instance = new OrderIDGenerator();
private int orderCount;
private OrderIDGenerator()
{
orderCount = 1;
}
public static OrderIDGenerator Instance
{
get { return instance; }
}
public string GenerateOrderID()
{
return String.Format("{0:yyyyMMddHHmmss}{1}", DateTime.Now, orderCount++);
}
}
Благодарим вас за подробный ответ. Просто любопытно, почему бы не использовать синглтоны, особенно в этом случае? – bkarj 2010-12-07 01:16:58