У меня есть список строки, как этотповысить производительность списка <T> с блокировкой и сделать его преемником?
private object = new object();
public List<string> list {
get{
lock(object){
return _list;
}
}
}
List<string> _list = new List<string>();
//some event which trigger's 1000 in a second
public void event(object sender, string e){
list.add(e);
}
public void processList(){
//process the list items one by one and remove it.
}
public void writeOnDisk(){
//write list on Disk
}
теперь моя проблема заключается в Список скорость обработки медленнее, чем заполнить. И я хочу взять резервную копию списка на диске для сбоя приложения или сбоя системы, но боюсь, если напишет список дисков, чем это замедлит производительность . Я не хочу потерять данные даже в одном элементе. Можете ли вы предложить мне лучший подход в этом отношении
Я рекомендую изменить свой заголовок на тот, который суммирует вашу проблему. Ваш заголовок может быть использован для десятков тысяч вопросов на этом сайте. –
Производительность относительно. Что именно вы пытаетесь достичь? Из вашего описания это похоже на то, что вы пытаетесь реализовать какую-то очередь заданий? Пожалуйста, будьте немного яснее относительно «медленного», «imrpove» и, конечно, что именно означает «обработка». – LocEngineer
Если вам нужно сохранить список, вы потеряете некоторую производительность при его сохранении (или, по крайней мере, вы будете использовать текущую реализацию). Возможно ли, что потеря производительности (которая может быть _very_ small) приемлема, зависит от вас. Мы не можем ответить на это. Если вы не можете потерять один элемент, вы можете вообще рассмотреть другой подход. – CodeCaster