потокобезопасным не имея не единой блокировки, кто может пояснить и где об этом можно почитать?
public class MessageProcessor
{
private List<IMessageHandler> _handlers;
public MessageProcessor(List<IMessageHandler> handlers)
{
_handlers = handlers.ToList();
}
public void ProcessMessage(Message msg)
{
_handlers.ForEach(x => x.HandleMessage(msg));
}
public void AddHandler(IMessageHandler handler)
{
var result = _handlers.Union(new IMessageHandler[] { handler }).ToList();
_handlers = result;
}
public void RemoveHandler(IMessageHandler handler)
{
var result = _handlers.Where(x => x != handler).ToList();
_handlers = result;
}
}
Как была доказана потокобезопасность?
Я один не понимаю как должна выглядеть потоконебезопасность здесь?
.Add / .Remove для листа :)
А где они там?
это как иммутабл коллекции на не иммутабл, так и долно быть
Обсуждают сегодня