Python:长时间后台进程用spawn还是线程?
我打算用Python做一个长时间运行的后台程序,但我还不确定是用os.spawnle
还是线程。因为我只看过相关资料,所以对这两者都没有太多经验。有没有什么简单的规则可以帮助我决定用哪个呢?
非常感谢!
2 个回答
2
明显的区别在于,os.spawnle
是用来启动一个运行 不同 程序的另一个进程,而线程则是在执行 同一个 程序中的代码。实际上,如果你的后台进程是一个已经存在的其他程序,那么使用 os.spawnle
(或者其他创建独立进程的方法)就是你唯一的选择;在一个程序中,两个线程必须运行同一个程序。
如果你在考虑自己写的代码应该作为独立进程运行还是作为独立线程运行,可以看看一些关于 进程与线程的讨论,这样可以帮助你决定哪种方式更适合你想做的事情。特别是,要考虑这些进程或线程需要共享哪些资源,它们之间如何通信,以及每个需要多强的稳定性——例如,一个崩溃的线程会导致整个进程也崩溃。