Python 3.x 如何从线程中退出主线程
我有一个运行discord机器人的主脚本。但我希望它在一天中的某个特定时间退出。所以我想做一个线程,检查时间并杀死主线程Python 3.x 如何从线程中退出主线程,python-3.x,multithreading,Python 3.x,Multithreading,我有一个运行discord机器人的主脚本。但我希望它在一天中的某个特定时间退出。所以我想做一个线程,检查时间并杀死主线程 now = datetime.datetime.now().time() def time_checker(): while True: if now.hour == 19: thread.interrupt_main() thread = threading.Thread(target=time_checker, dae
now = datetime.datetime.now().time()
def time_checker():
while True:
if now.hour == 19:
thread.interrupt_main()
thread = threading.Thread(target=time_checker, daemon=True)
thread.start()
有办法做到这一点吗?这段代码是如何运行的?为什么不直接退出
时间检查器
,它将结束线程
线程。一旦退出,除非有什么东西阻止它,否则如果没有更多的代码运行,你的程序也会退出。这是我脚本的开头。这部分之后是一个循环。我想用这个线程退出这个循环。你可以调用exit
或类似的函数;虽然这些都有缺点,如果你需要在退出之前做任何清理。退出或退出只是关闭线程,而不是主线程。