process可以理解为进程
thread则是线程,今天主要看了关于进程的触发方法。
之所以要多线程,个人理解有两个原因,1. 现在服务器的处理能力很强大,通过并发的方式可以充分利用CPU的计算能力,2. 通过控制并行运算的PID,可以避免运算过载... 因为有一些程序自身并不能有效的控制内存的使用,所以要限制这类程序的执行数量
多进程运行使用了multiprocessing模块,而且最近发现使用multiprocessing不能调用subprocess模块的子进程。可以使用os.system
#!/usr/bin/env python #coding=utf-8 """ Author: Squall Last modified: 2011-10-18 16:50 Filename: pool.py Description: a simple sample for pool class """ from multiprocessing import Pool from time import sleep def f(x): for i in range(10): print '%s --- %s ' % (i, x) sleep(1) def main(): pool = Pool(processes=3) # set the processes max number 3 for i in range(11,20): result = pool.apply_async(f, (i,)) pool.close() pool.join() if result.successful(): print 'successful' if __name__ == "__main__": main()
转自:
http://blog.chinaunix.net/uid-8326220-id-2975409.html
http://www.cnblogs.com/kaituorensheng/p/4445418.html
如果要多线程,可以使用threading模块
http://www.cnblogs.com/resn/p/5591419.html