Сообщить об ошибке.

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

Содержание с кратким описанием:

ОБЗОР: Модуль threading в Python, многопоточная обработка данных.
Конструкция модуля threading основывается на модели потоков в Java. Но там, где Java делает блокировки, а переменные состояния базовым поведением каждого объекта, то в Python они являются отдельными объектами. Класс потоков Python поддерживает подмножество поведения класса потоков Java.
Получение общих сведений о потоках, модуль threading в Python.
В разделе рассмотрены функции модуля threading, при помощи которых можно узнать общие сведения о потоках, запущенных в программе.
Класс Thread() модуля threading в Python.
Класс Thread модуля threading запускает какое либо действие, которое будет выполняется в отдельном потоке управления.
Класс local() модуля threading в Python.
В многопоточном программировании возникают ситуации, когда некоторые ресурсы необходимо необходимо защитить, чтобы они были скрыты от других потоков, которым они не принадлежат. Класс threading.local() создает объект, способный скрывать значения от просмотра в отдельных потоках.
Класс Event() модуля threading в Python.
Класс threading.Event() управляет флагом, которому можно присвоить значение True с помощью метода Event.set() и сбросить в значение False с помощью метода Event.clear(). Метод метод Event.wait() блокируется до тех пор, пока флаг не станет истинным True.
Класс Lock() модуля threading в Python.
Класс Lock() модуля threading, реализует примитивные объекты блокировки. Как только поток получил блокировку, то последующие попытки получить его блокируются, пока поток не будет разблокирован. Любой поток может снять блокировку.
Класс RLock() модуля threading в Python.
Повторная блокировка - это примитив синхронизации, который может быть получен несколько раз одним и тем же потоком. Внутри он использует концепции "владеющего потоком" и "уровня рекурсии" в дополнение к *locked*/*unlocked* состоянию, используемому примитивными блокировками threading.RLock.
Класс Condition() модуля threading в Python.
Класс Condition() реализует объекты условий, которые позволяют одному или нескольким потокам ждать, пока они не будут уведомлены другим потоком о его выполнении. Типичный пример использования условий это использование блокировки для синхронизации доступа к общему состоянию.
Класс Semaphore() модуля threading в Python.
Класс Semaphore() модуля threading реализует семафорные объекты, которые управляют атомарным счетчиком, представляющим количество вызовов .release() минус количество вызовов .acquire() плюс начальное значение.
Класс Timer() модуля threading в Python.
Класс Timer() модуля threading создает таймер, который будет запускать функцию function с аргументами args и ключевыми аргументами kwargs по прошествии интервала interval секунд. Таймеры запускаются, как и потоки, путем вызова их метода Timer.start(), унаследованного от класса threading.Thread().
Класс Barrier() модуля threading в Python.
Барьер устанавливает контрольную точку, и все участвующие потоки блокируются, пока все участвующие "стороны" не достигнут этой точки. Это позволяет потокам запускаться по отдельности, а затем приостанавливать работу, пока все они не будут готовы к продолжению.
Протокол управления контекстом в модуле threading в Python.
Все объекты, предоставляемые модулем threading, у которых есть методы .acquire() и .release(), могут использоваться в качестве менеджеров контекста для оператора with.
Трассировка и профилирование потоков модулем threading в Python.
Рассмотрены функции threading.settrace(func), threading.setprofile(func) и threading.stack_size([size]).
Как перезапускать потоки в Python?.
"RuntimeError: threads can only be started once" - потоки можно запускать только один раз! Другими словами потоки перезапускать НЕЛЬЗЯ.