Spec-Zone.ru › TensorFlow 2.4

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 Строка, используемая только для целей идентификации.

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

Методы

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, если попытка объединения текущего потока приведёт к тупику. Также возникает ошибка, если 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() вызывает переданный в конструктор вызываемый объект как целевой аргумент, если таковой имеется, с последовательными и именованными аргументами из аргументов 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()

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

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

Spec-Zone.ru

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