Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 26, 2014 17:59:16

d54wvzc+i5zirs
Зарегистрирован: 2014-05-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

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

Офлайн

#2 Июнь 26, 2014 18:36:12

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

Офлайн

#3 Июнь 26, 2014 18:41:13

john123
Зарегистрирован: 2013-12-22
Сообщения: 56
Репутация: +  7  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

Во-первых расскажите, какие проблемы Вы хотите решать при помощи асинхронного подхода?

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

Upd: раньше меня успели запостить В том pdf документе как раз перевод вот этой статьи.
Кстати спасибо, не знал что есть русская версия! Схоронил

Отредактировано john123 (Июнь 26, 2014 18:44:20)

Офлайн

#4 Июнь 26, 2014 19:02:40

d54wvzc+i5zirs
Зарегистрирован: 2014-05-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

john123
Во-первых расскажите, какие проблемы Вы хотите решать при помощи асинхронного подхода?
Я хочу разобраться с асинхронкой для само развития, хочется узнать, что-то новое.
Сначала, надо разобраться, а потом можно подумать где это уже можно применить, ну одно из мест применения я уже знаю (при web разработке иногда нужно обрабатывать данные пришедшие от пользователя асинхронно).

Офлайн

#5 Июнь 26, 2014 23:59:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

john123
Кстати спасибо, не знал что есть русская версия!

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

Так по этой ссылке она там числится среди других.



Офлайн

#6 Июнь 27, 2014 09:40:47

john123
Зарегистрирован: 2013-12-22
Сообщения: 56
Репутация: +  7  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

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

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

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

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

Напоследок отмечу, что асинхронное программирование обычно не применяется в областях, где нужно что-то делать помимо простого I/O.
Т.е. можно сказать, что у асинхронного программирования весьма ограниченная область применения.
Для всего остального применяется параллелизм (потоки, процессы и т.д.)

Отредактировано john123 (Июнь 27, 2014 09:44:23)

Офлайн

#7 Июнь 27, 2014 10:14:02

flip89
От:
Зарегистрирован: 2011-10-21
Сообщения: 28
Репутация: +  2  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

john123
Напоследок отмечу, что асинхронное программирование обычно не применяется в областях, где нужно что-то делать помимо простого I/O.
Т.е. можно сказать, что у асинхронного программирования весьма ограниченная область применения.
Для всего остального применяется параллелизм (потоки, процессы и т.д.)
Так а что мешает использовать процессы и потоки в асинхронном программировании, вынося в них (в процессы) cpu bound задачи?



Офлайн

#8 Июнь 27, 2014 10:17:49

john123
Зарегистрирован: 2013-12-22
Сообщения: 56
Репутация: +  7  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

Ничего не мешает. Просто пропорционально возрастает сложность такой системы, со всеми вытекающими. Это нужно учитывать.
И опять же можно заметить, что в такой модели асинхронное программирование выступает лишь в роли посредника. Т.е. всё то же I/O.

Отредактировано john123 (Июнь 27, 2014 10:37:34)

Офлайн

#9 Июнь 27, 2014 10:47:20

d54wvzc+i5zirs
Зарегистрирован: 2014-05-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

john123
Как я написал, в принцепи одну сферу применения асинхронки я знаю и в какой-то мере для этого в ней разбираюсь.

Офлайн

#10 Июнь 27, 2014 12:07:47

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Введение в асинхронное программирование

Если что, ООП-подход уже подразумевает асинхронность.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version