2011-09-16 38 views
0

我正在处理记录服务器上内存使用情况的程序。服务器有多个实例在运行,并且程序正在记录全部。Python上的线程问题

我想弄清楚什么会更优化。

选项
(假设两个实例)
1.单线程程序,它处理每个实例中,一个接一个。时间延迟0.5秒。
2.双线程,每个处理一个实例,时间延迟:1秒。

有什么建议吗?

回答

2

这两个选项都非常好。请注意,编写单线程程序比较容易,所以除非您有严格的性能要求或时序约束,否则您应该放弃线程以支持更快的开发和更少的错误。

+0

现在优先级不是快速开发,而是更好的结果,因为有时候实例的数量会增加到6-7,并且日志文件确实有一些基本的统计计算。 –

+0

@Parag Gupta在Python中,无论如何你必须留意[GIL](即使用(http://stackoverflow.com/questions/1294382/what-is-a-global-interpreter-lock-gil) 'multiprocessing',而不是'threading',如果你的程序是CPU绑定的)。不过,我总是从更简单的选项开始。如果你仔细设计你的程序(例如,不要使用全局变量,有一个独立的方法来测量一次实例等等),你可以在需要时切换到多个线程。 – phihag

+0

谢谢。我想我会在这种情况下使用单线程。如果稍后变得不准确,则会切换。 =) –