Пожалуйста, простите меня, если терминология моего вопроса не совсем правильная; Я не профессиональный программист.Почему мой поток Daemon приостанавливает выполнение вызывающей функции?
Это функция моей Daemon нить звонит:
def _pause_console(self, pause_time):
print("pausing console")
self.javaserver.server_muted = True
print("muted")
time.sleep(pause_time)
print("unmuted")
self.javaserver.server_muted = False
Он вызывается этот код (все в одном классе):
pausetime = 30
print("starting pause...")
cm = threading.Thread(target=self._pause_console(pausetime), args=())
cm.daemon = True
cm.start()
print("pause daemon thread started.")
на консоль вывод печатает мои заявления печати (30 второй сон уточняются) в следующем порядке:
начиная паузу
задержавшись консоль
приглушенный
заглушены
пауза демон нить начал
Я ожидал, что "пауза демон ..", по крайней мере, показать перед 'заглушены' .. То есть, выполнение основного цикла будет продолжаться после запуска потока. Тем не менее, мне кажется, что «cm.start()» должен выйти до того, как «print (« pause daemon thread started..) »Выполняется инструкция?
Что я делаю неправильно или где моя концептуальная ошибка здесь?
(трудно поверить, никто не столкнулся с этим раньше, но я не могу показаться, чтобы найти похожие вопросы здесь)
Большое спасибо. Теперь это имеет смысл. –