Пара точек:
(1) Hello
экземпляр - это Thread
экземпляр. Вы написали, class Hello(Thread): ...
. Это объявляет ваш Hello
класс специализацией Thread
класса. Ваш Hello
объект имеет метод start()
, поскольку класс Thread
имеет метод start()
.
(2) Экземпляр Thread
не является потоком . thread - это объект операционной системы. Экземпляр Thread
- это «дескриптор», который ваша программа использует для создания и взаимодействия с операционной системой thread . Вызов t1.start()
- это то место, где создается новый поток .
(3) После создания нового потока с помощью t1.start()
он вызовет t1.run()
. Это высечено в камне. Вы не можете это изменить, НО ...
(4) ... Вы сами пишете метод run()
. Это будет делать все, что вы заставляете это делать. Если вы хотите, чтобы поток вызывал какой-то метод self.foobar()
, то все, что вам нужно сделать, это поместить вызов self.foobar()
в ваш метод run()
.