threading

  • ХабрахабрФото Многопоточность в Python: очевидное и невероятное

    Многопоточность в Python: очевидное и невероятное

    В данной статье я покажу на практическом примере как устроена многопоточность в Python, расскажу про потоки, примитивы синхронизации и о том зачем они нужны. Изначально я планировал что это будет простая и короткая заметка, но пока готовил и тестировал код нашел интересный неочевидный момент связанный с внутренностями CPython, так что не спешите закрывать вкладку, даже если уверены что знаете о…

    Читать далее »
  • ХабрахабрФото Многопоточный Python на примерах: избавляемся от дедлоков

    Многопоточный Python на примерах: избавляемся от дедлоков

    Дедлоки — распространенная проблема в многопоточном программировании. В больших приложениях вручную отслеживать порядок блокировок может быть достаточно сложно, причем эта проблема может не всплыть на этапе тестирования и случиться только в каких-то сложновоспроизводимых кейсах при реальном использовании. Существует много способов их избегания, но здесь мы рассмотрим только один — автоматическое выявление дедлоков на основе графа ожидания. Эта статья — продолжение серии про многопоточное программирование…

    Читать далее »
  • ХабрахабрФото Многопоточный Python на примерах: как правильно хранить настройки приложения

    Многопоточный Python на примерах: как правильно хранить настройки приложения

    Если опустить первое и самое главное предубеждение относительно питонячьей многопоточности у большинства программистов — что её не существует из-за GIL, — то остается другое, и, наверное, вполне достоверное: многопоточность — это сложно, и нам этого, пожалуйста, не надо. И знаете что? Так оно и есть. Многопоточность — это сложно, особенно когда выбираешься за пределы стандартных руководств и попадаешь со своей многопоточной поделкой…

    Читать далее »
  • ХабрахабрФото System.Threading.Channels — высокопроизводительный производитель-потребитель и асинхронность без аллокаций и стэк дайва

    System.Threading.Channels — высокопроизводительный производитель-потребитель и асинхронность без аллокаций и стэк дайва

    И снова здравствуй. Какое-то время назад я писал о другом малоизвестном инструменте для любителей высокой производительности — System.IO.Pipelines. По своей сути, рассматриваемый System.Threading.Channels (в дальнейшем «каналы») построен по похожим принципам, что и Пайплайны, решает ту же задачу — Производитель-Потребитель. Однако имеет в разы более простое апи, которое изящно вольется в любого рода enterprise-код. При этом использует асинхронность без аллокаций и…

    Читать далее »
  • ХабрахабрФото Мега-Учебник Flask, Часть X: Поддержка электронной почты (издание 2018)

    Мега-Учебник Flask, Часть X: Поддержка электронной почты (издание 2018)

    Miguel Grinberg <<< предыдущая следующая >>> Это десятая часть серии Mask-Tutorial Flask, в которой я расскажу вам, как приложение может отправлять электронные письма вашим пользователям и как создать функцию восстановления пароля при поддержке адреса электронной почты. Под спойлером приведен список статей этой серии. Оглавление Примечание 1: Если вы ищете старые версии данного курса, это здесь. Примечание 2: Если вдруг Вы…

    Читать далее »


Кнопка «Наверх»