1

我有一个脚本,它做了大量的计算工作并且非常耗费资源。当我运行脚本时(通常需要几个小时才能完成),我几乎无法使用我的机器,因为它会停止运行。

我记得在过去的 VB 编程中,有一个yield()声明,它强制占用内存的例程很好,并将一些 CPU 周期交给其他进程。

我的问题是,在 Python 中是否有类似的结构允许我编写与我机器上的其他进程很好地配合的脚本?

下面的典型脚本....

# import required libs

if __name__ == '__main__':
    init()
    do_some_expensive_calcs()  # need to periodically 'yield' to other processes here - how do I do it?
4

2 回答 2

1

我认为您也可以使用 OS 包从脚本本身中执行此操作:

import os
os.nice(100)
于 2012-07-27T08:07:39.047 回答
0

如果您在 *ix 机器上,请很好地启动您的程序:

nice ./prog

您还可以在程序运行时“调整”程序,例如使用top.

我一直值得考虑的另一个策略是改进算法。

于 2012-07-27T08:05:49.890 回答