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 | Строка, используемая только для идентификации. Она не имеет смысла. Несколько потоков могут иметь одно и то же имя. Начальное имя задается конструктором. |
native_id | Неявный целочисленный идентификатор потока этого потока или None, если он еще не запущен. Это неотрицательное целое число. См. функцию get_native_id(). Это представляет идентификатор потока, как он сообщается ядром. |
Методы
getName
getName()
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()
Вызывается при остановке потока.
© 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/api_docs/python/tf/compat/v1/train/LooperThread