Spec-Zone.ru › TensorFlow

tf.compat.v1.train.LooperThread

Поток, который многократно выполняет код, при необходимости по таймеру.

tf.compat.v1.train.LooperThread(
    coord, timer_interval_secs, target=None, args=None, kwargs=None
)

Этот класс потоков предназначен для использования с Coordinator. Он многократно выполняет код, заданный либо как target и args, либо методом run_loop().

Перед каждым запуском поток проверяет, не запросил ли координатор остановку. В этом случае поток looper немедленно завершается.

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

Обычно потоки looper передаются методу супервизора Join().

Аргументы
coord Координатор.
timer_interval_secs Временные интервалы, в которые следует вызывать Run(), или None, если его нужно вызывать непрерывно.
target Необязательный вызываемый объект, который будет выполняться в потоке.
args Необязательные аргументы, передаваемые в target при вызове.
kwargs Необязательные именованные аргументы, передаваемые в target при вызове.
Вызывает исключения
ValueError Если один из аргументов недопустим.
Атрибуты
daemon Логическое значение, указывающее, является ли этот поток демоническим.

Это значение необходимо задать до вызова start(), иначе будет вызвано исключение RuntimeError. Начальное значение наследуется от создавшего поток потока; главный поток не является демоническим, поэтому для всех потоков, созданных в главном потоке, по умолчанию установлено daemon = False.

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

ident Идентификатор этого потока или None, если он ещё не был запущен.

Это ненулое целое число. См. функцию get_ident(). Идентификаторы потоков могут использоваться повторно после завершения потока и создания другого потока. Идентификатор остаётся доступным даже после завершения потока.

name Строка, используемая только для идентификации.

Она не имеет семантического значения. Нескольким потокам можно присвоить одно и то же имя. Начальное имя задаётся конструктором.

native_id Нативный целочисленный идентификатор этого потока или None, если он ещё не был запущен.

Это неотрицательное целое число. См. функцию get_native_id(). Это идентификатор потока, сообщаемый ядром.

Методы

getName

getName()

isDaemon

isDaemon()

is_alive

is_alive()

Возвращает значение, указывающее, активен ли поток.

Этот метод возвращает True непосредственно перед началом выполнения метода run() и до момента сразу после его завершения. См. также функцию модуля enumerate().

join

join(
    timeout=None
)

Ожидает завершения потока.

Этот метод блокирует вызывающий поток до завершения потока, для которого вызван метод join(), — штатно, из-за необработанного исключения или до истечения необязательного времени ожидания.

Если аргумент timeout указан и не равен None, он должен быть числом с плавающей точкой, задающим время ожидания операции в секундах (или долях секунды). Поскольку join() всегда возвращает None, после вызова join() необходимо вызвать is_alive(), чтобы определить, истекло ли время ожидания: если поток всё ещё активен, вызов join() завершился по тайм-ауту.

Если аргумент timeout не указан или равен None, операция будет блокироваться до завершения потока.

Для одного потока можно многократно вызывать join().

Вызов join() вызывает исключение RuntimeError, если предпринимается попытка присоединить текущий поток, поскольку это приведёт к взаимной блокировке. Также нельзя вызывать join() для потока до его запуска; такая попытка вызывает то же исключение.

loop

Посмотреть исходный код

@staticmethod
loop(
    coord, timer_interval_secs, target, args=None, kwargs=None
)

Запускает поток LooperThread, который периодически вызывает функцию.

Если timer_interval_secs равен None, поток многократно вызывает target(args). В противном случае target(args) вызывается каждые timer_interval_secs секунд. Поток завершается, когда запрашивается остановка координатора.

Аргументы
coord Координатор.
timer_interval_secs Число. Временные интервалы, в которые следует вызывать target.
target Вызываемый объект.
args Необязательные аргументы, передаваемые в target при вызове.
kwargs Необязательные именованные аргументы, передаваемые в target при вызове.
Возвращает
Запущенный поток.

run

Посмотреть исходный код

run()

Метод, описывающий работу потока.

Этот метод можно переопределить в подклассе. Стандартный метод run() вызывает вызываемый объект, переданный конструктору объекта в качестве аргумента target, если он задан, и передаёт ему позиционные и именованные аргументы из аргументов args и kwargs соответственно.

run_loop

Посмотреть исходный код

run_loop()

Вызывается через интервалы 'timer_interval_secs'.

setDaemon

setDaemon(
    daemonic
)

setName

setName(
    name
)

start

start()

Запускает работу потока.

Для каждого объекта потока этот метод можно вызвать не более одного раза. Он обеспечивает вызов метода run() объекта в отдельном потоке управления.

При повторном вызове этого метода для того же объекта потока будет вызвано исключение RuntimeError.

start_loop

Посмотреть исходный код

start_loop()

Вызывается при запуске потока.

stop_loop

Посмотреть исходный код

stop_loop()

Вызывается при остановке потока.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/train/LooperThread

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API