Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 30, 2010 18:01:40

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

мультипоточность

Спустя всего лишь месяц с небольшим выложил то, о чем говорил на pycon в Киеве.
http://asvetlov.blogspot.com/2010/11/1.html
http://asvetlov.blogspot.com/2010/11/2.html

Читайте и ругайте :)



Офлайн

#2 Ноя. 30, 2010 19:04:00

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

мультипоточность

Поругать могу только за кривое форматирование кода.

Похоже этот год пройдет у меня под знаком параллельности. В университетах гоняют по MPI и OpenMP, а в интернетах постоянно натыкаюсь на статьи по многопоточности-паралельности-асинхронности. Кстати, все проблемы параллельных программ очень здорово описаны в sicp в соответствующей главе :)

Кстати эрланг, clojure и прочие функциональные языки отчасти так хорошо параллеляться благодаря тому, что в них сведено к минимуму а то и вовсе отсутствуют изменяемые состояния. Для себя я выработал набор правил которым пользуюсь даже в обычных не параллельных программах: стремление к максимальной частоте функций (свести к минимуму побочные эффекты), а так же как можно большая независимость функций выполняющихся параллельно.



Офлайн

#3 Дек. 5, 2010 21:51:54

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

мультипоточность

В первой части по поводу thread можно просто дать ссылку на доку, где в самом верху есть замечание от разработчиков. Будет логичное объяснение, как вы это сделали с Lock.

Во второй статье для полноты картины надо бы сделать color публичным свойством, чтобы его действительно могли внешние потоки менять.
Ну и отступы поправить в в блоке кода с очередью.

А в целом мне понравилось. Вроде понятно и логично изложено.



Офлайн

#4 Дек. 7, 2010 13:26:24

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

мультипоточность

А не затруднит дать пояснение записи with self._mutex ?



Офлайн

#5 Дек. 7, 2010 13:53:15

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

мультипоточность

Lexander, поправил. Спасибо.



Офлайн

#6 Дек. 7, 2010 13:57:38

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

мультипоточность

plusplus, это называется context manager.

with a:
pass # do stuff
работает как
try:
a.__enter__()
pass # do stuff
a.__exit__(None, None, None)
except:
import sys
if not a.__exit__(*sys.exc_info()):
raise
Для объектов синхронизации __enter__ захватывает блокировку, __exit__ ее освобождает.

Читать - здесь: http://python.org/dev/peps/pep-0343/



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version