Как надо делать? lazy потокобезопасен?
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Здравствуйте, _d_m_, Вы писали:
___>Как надо делать? lazy потокобезопасен?
http://rsdn.ru/forum/dotnet/4650042.1.aspxАвтор: VladD2
Дата: 06.03.12
Здравствуйте, _d_m_, Вы писали:
___>Как надо делать? lazy потокобезопасен?
Макрос Singleton из стандартной библиотеки (нужно добавить using Nemerle.DesignPatterns) применяется к классу и реализует потокобезопасный синглтон (публичный, приватный или защищенный в зависимости от настроек).
https://github.com/rsdn/nemerle/blob/master/macros/DesignPatterns.n#L206
Там используется двойная синхронизация, которая в принципе работает под .NET.
Здравствуйте, catbert, Вы писали:
C>Макрос Singleton из стандартной библиотеки (нужно добавить using Nemerle.DesignPatterns) применяется к классу и реализует потокобезопасный синглтон (публичный, приватный или защищенный в зависимости от настроек).
C>https://github.com/rsdn/nemerle/blob/master/macros/DesignPatterns.n#L206
Спс. Но я пока нуб в Н. Как мне сделать синглтон для обобщенного типа?
class Sing[T]
{
...
}
...
// и это разные синглтоны
def a = Sing[int].Get();
def b = Sing[string].Get();
...
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, catbert, Вы писали:
C>>Макрос Singleton из стандартной библиотеки (нужно добавить using Nemerle.DesignPatterns) применяется к классу и реализует потокобезопасный синглтон (публичный, приватный или защищенный в зависимости от настроек).
C>>https://github.com/rsdn/nemerle/blob/master/macros/DesignPatterns.n#L206
___>Спс. Но я пока нуб в Н. Как мне сделать синглтон для обобщенного типа?
Ну, по идее не должно быть никаких проблем:
[Singleton]
class Test[T]
{
}
// .....
def x = Test.[int].Instance; // обе точки нужны
def y = Test.[string].Instance;
Но это я не уверен, писал код в браузере.
Здравствуйте, catbert, Вы писали:
C>Здравствуйте, _d_m_, Вы писали:
C>def x = Test.[int].Instance; // обе точки нужны
А я оставил только одну и все ок.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>