Найти - Пользователи
Полная версия: Введение в асинхронное программирование
Начало » Python для экспертов » Введение в асинхронное программирование
1 2 3
d54wvzc+i5zirs
Здравствуйте. Меня очень заинтересовал асинхронный подход написания программы.
В интернете информация разбросана кусками и я не знаю с чего начать разбираться в данном вопросе. Хочу понять в чем заключается именно суть асинхронного программирования, какие есть подходы в написании асинхронного кода и т д
Подкиньте пожалуйста статейки, которые нужно прочитать, чтобы вникнуть.
Заранее благодарен.
john123
Во-первых расскажите, какие проблемы Вы хотите решать при помощи асинхронного подхода?

По документации я бы порекомендовал пройти вот этот туториал (включая практическую часть):
http://krondo.com/?page_id=1327
Вообще-то это туториал по Twisted, но общие подходы и поблемы асинхронного программирования иллюстрирует замечательно.

Upd: раньше меня успели запостить В том pdf документе как раз перевод вот этой статьи.
Кстати спасибо, не знал что есть русская версия! Схоронил
d54wvzc+i5zirs
john123
Во-первых расскажите, какие проблемы Вы хотите решать при помощи асинхронного подхода?
Я хочу разобраться с асинхронкой для само развития, хочется узнать, что-то новое.
Сначала, надо разобраться, а потом можно подумать где это уже можно применить, ну одно из мест применения я уже знаю (при web разработке иногда нужно обрабатывать данные пришедшие от пользователя асинхронно).
py.user.next
john123
Кстати спасибо, не знал что есть русская версия!

john123
По документации я бы порекомендовал пройти вот этот туториал (включая практическую часть):
http://krondo.com/?page_id=1327

Так по этой ссылке она там числится среди других.
john123
py.user.next
Так по этой ссылке она там числится среди других.
Вот она - невнимательность Зачем я тогда на английском его проходил? Видимо, недолистал.

d54wvzc+i5zirs
Сначала, надо разобраться, а потом можно подумать где это уже можно применить
На деле обычно так не работает Это подобно программе обучения в современных российских ВУЗах, где Вам впихивают в голову много матана и забывают рассказать, где всё это можно применить (хотя так не везде конечно). В итоге такой материал через какое-то время благополучно забывается за ненадобностью.

На практике я бы порекомендовал Вам сначала почитать, где оно - это асинхронное программирование - применяется, выбрать для себя какую-то практическую задачу, а затем уже решать её, параллельно разбираясь в теории.

Хотя в конечном счете дело за Вами, и тем, какую программу обучения хотите для себя построить лично Вы.

Напоследок отмечу, что асинхронное программирование обычно не применяется в областях, где нужно что-то делать помимо простого I/O.
Т.е. можно сказать, что у асинхронного программирования весьма ограниченная область применения.
Для всего остального применяется параллелизм (потоки, процессы и т.д.)
flip89
john123
Напоследок отмечу, что асинхронное программирование обычно не применяется в областях, где нужно что-то делать помимо простого I/O.
Т.е. можно сказать, что у асинхронного программирования весьма ограниченная область применения.
Для всего остального применяется параллелизм (потоки, процессы и т.д.)
Так а что мешает использовать процессы и потоки в асинхронном программировании, вынося в них (в процессы) cpu bound задачи?
john123
Ничего не мешает. Просто пропорционально возрастает сложность такой системы, со всеми вытекающими. Это нужно учитывать.
И опять же можно заметить, что в такой модели асинхронное программирование выступает лишь в роли посредника. Т.е. всё то же I/O.
d54wvzc+i5zirs
john123
Как я написал, в принцепи одну сферу применения асинхронки я знаю и в какой-то мере для этого в ней разбираюсь.
Shaman
Если что, ООП-подход уже подразумевает асинхронность.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB