import sys
import multiprocessing
import time
def func():
return 1+1
if __name__ == "__main__":
pool = multiprocessing.Pool(processes = 3)
for i in xrange(10000000):
pool.apply_async(func, ())
pool.close()
pool.join()
如果在 pypy test.py 执行,内存升的快些,用 python test.py 要慢些。
我跑 1000W 次,最终将导致内存错误,想问下,上面代码对于多进程是我使用有问题吗?
不用 multiprocess,Pool 就没这个问题。
多谢。
import multiprocessing
import time
def func():
return 1+1
if __name__ == "__main__":
pool = multiprocessing.Pool(processes = 3)
for i in xrange(10000000):
pool.apply_async(func, ())
pool.close()
pool.join()
如果在 pypy test.py 执行,内存升的快些,用 python test.py 要慢些。
我跑 1000W 次,最终将导致内存错误,想问下,上面代码对于多进程是我使用有问题吗?
不用 multiprocess,Pool 就没这个问题。
多谢。