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