Spec-Zone.ru › TensorFlow 2.9

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 методу supervisor Join().

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

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

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

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

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

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

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

Методы

getName

getName()

isAlive

isAlive()

Возвращает, жив ли поток.

Этот метод устарел, используйте is_alive() вместо него.

isDaemon

isDaemon()

is_alive

is_alive()

Возвращает, жив ли поток.

Этот метод возвращает True непосредственно перед запуском метода run() и до завершения метода run(). Модульная функция enumerate() возвращает список всех активных потоков.

join

join(
    timeout=None
)

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

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

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

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

Поток можно присоединить многократно.

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

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/versions/r2.9/api_docs/python/tf/compat/v1/train/LooperThread

Spec-Zone.ru

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