Разумный маленький пример Python с использованием замков с потоками - PullRequest
1 голос
/ 09 марта 2011

Я ищу разумный (то есть действительно полезный с точки зрения эффективности) пример, использующий потоки и блокировки python.Я знаю много стандартных небольших примеров, но во всех них отсутствует хотя бы одно из свойств «small», «разумное» или «using locks» - например:

  • Тестирование списка URL для проверкидоступность (разумная, небольшая, но без блокировок)
  • Реализация нескольких клиентов (по одному на поток) и сервера, содержащего переменную (или банковский счет или что-то подобное) - небольшая, использует блокировки, но не имеет смысла(на практике есть лучшие способы реализовать это).
  • Распараллеливание простого алгоритма через потоки (например, суммирование большого списка) - маленький, но оба не имеют смысла (потому что вы не могли бы распараллеливать через потоки) и не используя блокировки.

Ответы [ 2 ]

3 голосов
/ 09 марта 2011

Страница Дуга Хеллманна - это всегда хороший адрес, чтобы привести примеры:

Для резьбы в целом: http://www.doughellmann.com/PyMOTW/threading/index.html

Или, если вы предпочитаете многопроцессорность (например, GIL ударит вас, или вы хотите распределить нагрузку по нескольким процессорам): http://www.doughellmann.com/PyMOTW/multiprocessing/index.html

1 голос
/ 09 марта 2011

Модуль Python Queue является отличным примером небольшой, но синхронизированной эффективной реализации очереди для проблемы производитель / потребитель .

...