Суп, программач. Поясни мне за асинхронность и многопоточность вот в двух словах, чтобы даже моя кошка поняла и уже сегодня могла стрелять асинхронными стрелами в асинхронные коленки мамкиных кодеров вроде меня. Конкретно интересуют сферы применения одного и другого, чтобы при соответствующей задаче определить, в какую именно сторону мне нужно копать, не составило труда.Допустим, на данный момент я придумал себе задачку. Некоторый синхронный сервер работает, просто работает. Я же хочу расширить его функционал плагинами при этом осознавая, что если буду опрашивать каждый плагин в каждой итерации ивент-лупа, то это сильно снизит его производительность. Вот тут-то я и хочу узнать, как бы мне лучше поступить. Делись советами, анон.
>>755431 (OP)>асинхронность и многопоточностьВысосанная из хуя хуевая терминология, особенно когда речь заходит о том чем одно отличается от другого. Это как если бы у биологов там придумали в своей каталогизации какую-нибудь поебень, а потом появился неведомый утконос, который не влезает ни в одну категорию и нужно было все заново переделывать. Вот такие у меня мысли на эту тему.
| | || | || /\ | Это асинхронность| | | || | | |----------------| | | | || | | | || | | | | Это многопоточность| | | | || | | | || | | | |---------------| | | | || | | | || | | | || /\ | /\ || | | | | | | Это многопоточность с| | | | | | | асинхронностью в потоках| | | | | | || | | | | | |
>>755514Словами распиши, может объясню тогда почему ты еблан.
>Конкретно интересуют сферы применения одного и другого, чтобы при соответствующей задаче определить, в какую именно сторону мне нужно копать, не составило труда.Я тебе сейчас секрет открою: это грубо говоря одно и то же под чуть разными абстракциями. Многопоточный код выполняется соответственно названию, асинхронный - просто в отдельном от основного. В тех же серверах используется обычно и то и другое: n+1 системных потоков и тыщи асинхронных задач шедулящихся по ним.
>>755431 (OP)> многопоточность
>>755431 (OP)> Поясни мне за асинхронность и многопоточность вот в двух словахКароче смари: есть работка, на ней работаешь ты и леночка. Ты делаешь свои дела, леночка делает свои - это у вас многопоточная работа.Надо тебе отсканировать бумажку, а сканер у леночки. Ты приходишь к ней с бумажкой, флешкой и говоришь "леночка отскань". Леночка прекращает свою работу, сует бумажку в сканер, сканирует копирует на флешку, отдает тебе. Ты при этом стоишь у нее над душой. Это синхронное взаимодействие между потоками. Плюсы - ты контролируешь леночку, ей не соскочить. Минусы - ты ебешь свое время и сбиваешь ее со своего ритма работы, если таких как ты будет 10 человек на дню, а леночка не работает секретарем, просто так получилось, что у нее сканер, она начнет сердиться и отказывать в обслуживании.Или ты приходишь к ней с бумажкой и флешкой и говоришь, мол отскань когда сможешь, мне на стол положишь потом. Леночка говорит "ага", продолжает заниматься своими делами, как выдается удобный момент, она сканирует, копирует на флешку, потом заносит к тебе на стол, по пути к кофейнику. Плюсы - так удобнее работать всем и над душой стоять не надо и ритм не сбивается. Минусы - время ответа недетерминировано, есть вероятность что его вообще не будет, леночка запрыгается и забудет.Что касается твоей хуйни с веб-сервером, то если хочешь асинхронности - вкуривай модели кооперативной многозадачности, разные формы yieldов, продолжения, смотри евент лупы, которые написаны другими и т.п..
http://python-notes.curiousefficiency.org/en/latest/pep_ideas/async_programming.html#a-bit-of-background-info
>>755431 (OP)Если конкретно в плане серверов, то тут есть уже готовые парадигмы вроде: синхронный сервер (один обслуживается, другие сосут), поток на соединение (на каждый клиент поток, который коммуницирует с пользователем, все довольны, сосешь ты), поток на запрос + тред пул (что-то типа такого и используется в большинстве решений, все довольны, пока не накроет сервер).
>>755554Годно расписал. Спасибо, сохранил.
>>755431 (OP)Поясняю в одном слове - Erlang.
>>755734динамикодрисня
>>755502Хех. Никто в биологии не переделывает систематику. Просто хуярят костыль новый вид/семейство, да и все. А пример с естественными науками хорош - когда явление открывает несколько исследователей, приходится годами договариватьсся о терминологии.
>>756855>Никто в биологии не переделывает систематикуТам вроде на нижнем уровне иерархии постоянные неслабые перетряски были, там где всякие одноклеточные, вирусы и прочие фаги. Но я в этом не разбираюсь, так где-то слышал.