dea*_*mon 5 python multithreading
当我使用旧的Python threadAPI时,一切正常:
thread.start_new_thread(main_func, args, kwargs)
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用新的线程 API,那么运行该线程的进程在它应该退出自身时会挂起sys.exit(3):
threading.Thread(target=main_func, args=args, kwargs=kwargs).start()
Run Code Online (Sandbox Code Playgroud)
如何将代码转换为新的线程API?
您可以在上下文中看到此示例.
此行为是由于thread.start_new_thread在daemon模式下threading.Thread创建线程时创建线程的事实non-daemon.
要threading.Thread以守护进程模式启动,您需要使用以下.setDaemon方法:
my_thread = threading.Thread(target=main_func, args=args, kwargs=kwargs)
my_thread.setDaemon(True)
my_thread.start()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5437 次 |
| 最近记录: |