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