On 2009.04.30 at 23:27:59 +0900, Anton Anikin wrote: > В сообщении от 30 апреля 2009 Victor Wagner написал(a): > > > За использование нитей надо судить. Большим жюри. Иногда оправдывать. > > Потому что ситуации, когда они нужны - бывают. И даже бывают > > разработчики, которые в этих ситуациях ухитряются с ними грамотно > > справляться. В остальных случаях - либо расстреливать, либо на > > принудительные работы по писанию примитивов синхронизации на ассемблере. > > Вы хоть раз сами эти вещи (с использованием нитей) писали ? Или может > предложите что другое, при этом переносимое ? Про fork не надо песни петь,
Опишите задачу для которой нужно предложить архитектуру. Мое "категоричное" утверждение было о том, что БЫВАЮТ задачи для которых нити действительно полезны и БЫВАЮТ программисты, которые способны с ними в этой ситуации справиться. Но в 90% задач существуют более надежные решения. И более простые, которые можно уложить в голове у нормального программиста, а не супергения. На мой взгляд, сейчас есть ряд весьма популярных технологий (нити - не единственная, есть еще OOP), написание надежных программ на которых требует очень высокой квалификации, очень грамотного дизайна, но при этом эти технологии создают ОБМАНЧИВОЕ впечатление простоты. Поэтому в качестве rule of thumb использования этих технологий следует избегать елико возможно. И использовать только тогда, когда были перепробованы все остальные варианты, и стало очевидно, что они не годятся. (кстати, сам факт перепробования остальных вариантов очень способствует правильному дизайну). > его много где нет. Тот же openMP (который как раз через нити работает), OpenMP - узконишевой продукт. Причем в такой нише, где надежность, как правило, не является категорическим императивом. Потому что типичная счетная задача девять раз из десяти завершается неудачей вовсе не потому что наступили на грабли с нитями, а потому что не углядели какой-то особенности в модели. Поэтому если она будет завершаться неудачно не 9 раз из 10, а 19 из 20, но эти 20 прогонов будут завершены быстрее, чем те 10 - на это можно пойти. А вот задачи с которыми пользователь имеет дело каждый день - браузер, X-сервер, текстовый редактор etc просто НЕ ИМЕЮТ права падать. Даже в случае заведомо неправильных действий пользователя. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

