MyTetra Share
Делитесь знаниями!
жизнь потоков
Время создания: 31.08.2017 21:13
Раздел: Python - Потоки - threading
Запись: xintrea/mytetra_db_mcold/master/base/1492790039vp8j9o6cpn/text.html на raw.githubusercontent.com

Жизнью потоков можно управлять вызовом методов:

  • start() Дает потоку жизнь.
  • run() Этот метод представляет действия, которые должны быть выполнены в потоке.
  • join([timeout]) Поток, который вызывает этот метод, приостанавливается, ожидая завершения потока, чей метод вызван. Параметр timeout (число с плавающей точкой) позволяет указать время ожидания (в секундах), по истечении которого приостановленный поток продолжает свою работу независимо от завершения потока, чей метод join был вызван. Вызывать join() некоторого потока можно много раз. Поток не может вызвать метод join() самого себя. Также нельзя ожидать завершения еще не запущенного потока. Слово "join" в переводе с английского означает "присоединить", то есть, метод, вызвавший join(), желает, чтобы поток по завершении присоединился к вызывающему метод потоку.
  • getName() Возвращает имя потока. Для главного потока это "MainThread".
  • setName(name) Присваивает потоку имя name.
  • isAlive() Возвращает истину, если поток работает (метод run() уже вызван, но еще не завершился).
  • isDaemon() Возвращает истину, если поток имеет признак демона. Программа на Python завершается по завершении всех потоков, не являющихся демонами. Главный поток демоном не является.
  • setDaemon(daemonic) Устанавливает признак daemonic того, что поток является демоном. Начальное значение этого признака заимствуется у потока, запустившего данный. Признак можно изменять только для потоков, которые еще не запущены.

В модуле Thread пока что не реализованы возможности, присущие потокам в Java (определение групп потоков, приостановка и прерывание потоков извне, приоритеты и некоторые другие вещи), однако они, скорее всего, будут созданы в недалеком будущем.

 
MyTetra Share v.0.59
Яндекс индекс цитирования