sobomax писал(а):Это вас кто-то обманул, проблема именно в прокладке. Триды конечно имеют свою специфику, но не настолько. Все современные ядра операционных систем написаны на тридах и что? Работают замечательно и не виснут "раз в неделю".
Ещё бы ядра висли. Скажете тоже. Ядра хватает кому обкатывать. И то временами, то с Linux threads, то с FreeBSD бывали проблемы в performance. Я уже давно не слежу, ядрами давно не занимаюсь, но бывали точно. Не раз.
Я говорю про конкретный опыт работы с multi-threading в Java. Я знаю, какая это головная боль. Допускаю, что везде, где я работал, хватало непрофессионалов, но мне от этого не легче. То active trading system , то сервер какой-нибудь, то ещё что начинает дурить. И надо в короткие сроки разобраться в этом дермище.
Не станете же Вы утверждать, что в Java красиво реализована работа с тредами? Ничего там нет красивого. Низкоуровщина сплошная.
sobomax писал(а):Асинхронная модель и триды вовсе не взаимо исключающие вещи, могут и сосуществуют и сосуществуют в одном приложении замечательно.
Вполне согласен. Просто я акцент ставил на асинхронность, естественно, в чистом виде не обязательно и чаще не бывает в сложных системах.
sobomax писал(а):Но асинхронная модель не дает никакого ответа что делать когда производительность упирается в быстродействие одного ядра. Практически для любого busy сервера такой момент рано или поздно наступит.
Упираетесь в быстродействие одного ядра, разбивайте на процессы. Всё это решаемо. И более прозрачно, чем с тредами.
sobomax писал(а):А то какая модель придет на смену тридам через 10 лет дело десятое. Пишется то сегодня, на сеодняшних языках и под сегодняшние железо.
Через какие десять лет? Все эти модели уже есть. Посмотрите на Erlang, на Clojure, на Scala with Actors.