我打算用 Python 做一个长时间运行的后台进程,但我仍然不确定是使用os.spawnle
还是线程。我只读过它,因此我对 spawn 或 thread 都没有太多经验。有什么经验法则什么时候使用哪个?
非常感谢
我打算用 Python 做一个长时间运行的后台进程,但我仍然不确定是使用os.spawnle
还是线程。我只读过它,因此我对 spawn 或 thread 都没有太多经验。有什么经验法则什么时候使用哪个?
非常感谢
明显的区别在于它os.spawnle
用于启动另一个运行不同程序的进程,而线程将执行属于同一程序的代码。实际上,如果您的后台进程是已经存在的其他程序,那么os.spawnle
(或其他创建单独进程的方法)是您唯一的选择;一个程序中的两个线程必须运行同一个程序。
如果您想知道是否应该构建自己的代码以作为单独的进程或作为单独的线程运行,那么请查看一些类似这样的进程与线程问题,以决定哪个更适合您正在尝试做的事情。特别是,考虑进程/线程需要共享哪些资源,它们将相互通信什么,以及每个需要有多健壮——例如,一个线程崩溃将导致进程的其余部分随之停止。