Я знаю, Python поток демона будет автоматически выходить, если выход родительского потока. Причина, по которой я спрашиваю «да», потому что мой основной поток иногда работает над интенсивным вычислением ЦП, которое блокирует сообщение об ударе сердца. Другой модуль думает, что эта услуга мертва и планирует похороны.
Я хочу использовать какой-нибудь поток демона (или процесс?), Который является дочерним по отношению к основному потоку, для отправки сообщения сердцебиения.
Мой вопрос заключается в том, блокирует ли мой основной поток, например:
while True:
a = a + 1
Будет ли также заблокирован мой дочерний поток демона? любой пример или доказательство? Какую роль здесь играет GIL (Global Interpreter Lock)?
Редактировать
К точке @ ShadowRanger, как показано в следующем примере, официант может выйти из сообщения, учитывая, что рабочий поток блокируется (занимая 220% ресурсов ЦП)
import time
from threading import Thread
class worker(Thread):
def run(self):
t = 10
x = 10
while True:
x = t + 1
class waiter(Thread):
def run(self):
for x in xrange(100,150):
print x
time.sleep(0.5)
def run():
worker().start()
waiter().start()
run()