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() которого вызывается — либо нормальным завершением, либо через необработанное исключение, либо до наступления необязательного таймаута.
Когда аргумент timeout присутствует и не равен None, он должен быть числом с плавающей запятой, определяющим таймаут операции в секундах (или долях секунды). Поскольку join() всегда возвращает None, вы должны вызвать is_alive() после join(), чтобы определить, произошёл ли таймаут — если поток всё ещё жив, вызов join() истек по таймауту.
Когда аргумент timeout отсутствует или равен 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()
Вызывается при остановке потока.
© 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.3/api_docs/python/tf/compat/v1/train/LooperThread