[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 13 | 3 | 12
Назад Вниз Каталог Обновить

Суп, программач. Поясни Аноним 27/05/16 Птн 19:06:28  755431  
14643651890310.jpg (23Кб, 600x315)
Суп, программач.
Поясни мне за асинхронность и многопоточность вот в двух словах, чтобы даже моя кошка поняла и уже сегодня могла стрелять асинхронными стрелами в асинхронные коленки мамкиных кодеров вроде меня. Конкретно интересуют сферы применения одного и другого, чтобы при соответствующей задаче определить, в какую именно сторону мне нужно копать, не составило труда.

Допустим, на данный момент я придумал себе задачку. Некоторый синхронный сервер работает, просто работает. Я же хочу расширить его функционал плагинами при этом осознавая, что если буду опрашивать каждый плагин в каждой итерации ивент-лупа, то это сильно снизит его производительность. Вот тут-то я и хочу узнать, как бы мне лучше поступить. Делись советами, анон.
Аноним 27/05/16 Птн 21:21:17  755502
>>755431 (OP)
>асинхронность и многопоточность
Высосанная из хуя хуевая терминология, особенно когда речь заходит о том чем одно отличается от другого. Это как если бы у биологов там придумали в своей каталогизации какую-нибудь поебень, а потом появился неведомый утконос, который не влезает ни в одну категорию и нужно было все заново переделывать. Вот такие у меня мысли на эту тему.
Аноним 27/05/16 Птн 21:33:01  755514
| | |
| | |
| /\ | Это асинхронность
| | | |
| | | |
----------------
| | | | |
| | | | |
| | | | | Это многопоточность
| | | | |
| | | | |
| | | | |
---------------
| | | | |
| | | | |
| | | | |
| /\ | /\ |
| | | | | | | Это многопоточность с
| | | | | | | асинхронностью в потоках
| | | | | | |
| | | | | | |
Аноним 27/05/16 Птн 21:45:33  755525
>>755514
Словами распиши, может объясню тогда почему ты еблан.
Аноним 27/05/16 Птн 22:15:39  755545
>Конкретно интересуют сферы применения одного и другого, чтобы при соответствующей задаче определить, в какую именно сторону мне нужно копать, не составило труда.
Я тебе сейчас секрет открою: это грубо говоря одно и то же под чуть разными абстракциями. Многопоточный код выполняется соответственно названию, асинхронный - просто в отдельном от основного.

В тех же серверах используется обычно и то и другое: n+1 системных потоков и тыщи асинхронных задач шедулящихся по ним.
Аноним 27/05/16 Птн 22:22:05  755549
14643769252640.jpg (40Кб, 604x340)
>>755431 (OP)
> многопоточность
Аноним 27/05/16 Птн 22:26:49  755554
14643772092110.jpg (66Кб, 513x604)
>>755431 (OP)
> Поясни мне за асинхронность и многопоточность вот в двух словах
Кароче смари: есть работка, на ней работаешь ты и леночка. Ты делаешь свои дела, леночка делает свои - это у вас многопоточная работа.

Надо тебе отсканировать бумажку, а сканер у леночки.

Ты приходишь к ней с бумажкой, флешкой и говоришь "леночка отскань". Леночка прекращает свою работу, сует бумажку в сканер, сканирует копирует на флешку, отдает тебе. Ты при этом стоишь у нее над душой. Это синхронное взаимодействие между потоками. Плюсы - ты контролируешь леночку, ей не соскочить. Минусы - ты ебешь свое время и сбиваешь ее со своего ритма работы, если таких как ты будет 10 человек на дню, а леночка не работает секретарем, просто так получилось, что у нее сканер, она начнет сердиться и отказывать в обслуживании.

Или ты приходишь к ней с бумажкой и флешкой и говоришь, мол отскань когда сможешь, мне на стол положишь потом. Леночка говорит "ага", продолжает заниматься своими делами, как выдается удобный момент, она сканирует, копирует на флешку, потом заносит к тебе на стол, по пути к кофейнику. Плюсы - так удобнее работать всем и над душой стоять не надо и ритм не сбивается. Минусы - время ответа недетерминировано, есть вероятность что его вообще не будет, леночка запрыгается и забудет.

Что касается твоей хуйни с веб-сервером, то если хочешь асинхронности - вкуривай модели кооперативной многозадачности, разные формы yieldов, продолжения, смотри евент лупы, которые написаны другими и т.п..
Аноним 28/05/16 Суб 00:56:55  755651
http://python-notes.curiousefficiency.org/en/latest/pep_ideas/async_programming.html#a-bit-of-background-info
Аноним 28/05/16 Суб 02:13:05  755676
>>755431 (OP)
Если конкретно в плане серверов, то тут есть уже готовые парадигмы вроде: синхронный сервер (один обслуживается, другие сосут), поток на соединение (на каждый клиент поток, который коммуницирует с пользователем, все довольны, сосешь ты), поток на запрос + тред пул (что-то типа такого и используется в большинстве решений, все довольны, пока не накроет сервер).
Аноним 28/05/16 Суб 08:04:27  755727
>>755554
Годно расписал. Спасибо, сохранил.
Аноним 28/05/16 Суб 08:31:23  755734
>>755431 (OP)
Поясняю в одном слове - Erlang.
Аноним 28/05/16 Суб 17:46:04  756160
>>755734
динамикодрисня
Аноним 29/05/16 Вск 17:45:28  756855
>>755502
Хех. Никто в биологии не переделывает систематику. Просто хуярят костыль новый вид/семейство, да и все. А пример с естественными науками хорош - когда явление открывает несколько исследователей, приходится годами договариватьсся о терминологии.
Аноним 29/05/16 Вск 18:59:33  756930
>>756855
>Никто в биологии не переделывает систематику
Там вроде на нижнем уровне иерархии постоянные неслабые перетряски были, там где всякие одноклеточные, вирусы и прочие фаги. Но я в этом не разбираюсь, так где-то слышал.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 13 | 3 | 12
Назад Вверх Каталог Обновить

Топ тредов