[copypast] асинхронность

Jul 01, 2010 10:25

 
Иван Сагалаев (softwaremaniacs.org) -- написал в своём журнале -- интересную цытату, касающуюся терминологии :-) :

********** НАЧАЛО [*] **********
Ещё один термин, которому не повезло - асинхронность. По-настоящему она означает вызов функции, которая не делает всей своей работы сразу, а быстро возвращает управление в вызвавшую программу, выполняя свои вычисления параллельно с ней. Никакого конкретного способа реализации такого параллелизма не предполагается.

Однако часто "асинхронность" неявно жёстко привязывают конкретно к асинхронному вводу-выводу, когда асинхронность вызова обеспечивается тем, что долгую и тупую часть операции по перекладке байтов на себя берёт отдельный сервис ядра. Чтобы отличать это понятие от "асинхронности вообще", я буду пользоваться тремином неблокирующий IO.
********** КОНЕЦ **********

интересно это, потомучто в свете умножающийся многоядерности процессоров (да и вообще всего :), где есть ядра :D) -- асинхронность начинает всё больше приобритать важные смыслы! :-)

....говоря об алгоритмах использующщих асинхронные функции (т.е. неблокирующие функции) -- мы ведь НЕ должны обязательно предпологать что: "вся программа будет работать в единственной ните, а функционал неблокирующих функций будет релизован через API операционной системы [как например обработка асинхронных событий через: glib.MainLoop [*] ]" :-)

если через {множество нитей (threading) } или через {множество процессов (multiprocessing) } -- реализуются неблокирующие функции -- то это ведь тоже асинхронность ! чем эта асинхронность -- не асинхронней, других асинхронностей :-) :-D ?

......и её (ассинхроность реализованную через threading и/или multiprocessing ) -- думаю не так уж и плохо использовать в сочетании (а не в эксклюзивности) по отношению с обыкновенными рутинными асинхронным функциями ввода-вывода операционной системы!

тоесть асинхронность -- это всеголишь ИНТЕРФЕЙС, а не РЕАЛИЗАЦИЯ! :-)

# p.s.: написал этот журнальный файл, в размышлениях о том что иногда возникает такое ошибочное ощущение, что программа либо должна использовать множество нитей и не использовать асинхронные функции (использовать синхронные), либо должна использовать асинхронные функции но быть реализована в одной ните ... %) %) :-)

# p.p.s. в абривиатуре AJAX -- ведь тоже есть слово Asynchronous :-)
Previous post Next post
Up