码迷,mamicode.com
首页 > 编程语言 > 详细

python多线程和多进程对比

时间:2016-06-21 13:59:26      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

1、纯计算  多线程只用了一个cpu  45%左右  多进程用两个cpu  90%左右

# coding=utf-8

from multiprocessing import Pool  # 多线程版本from multiprocessing.dummy import Pool 
import sys, os 
import time

def timetask(times):
    while 1:
        pass

    
if __name__ == __main__:
    startTime = time.time()
    worknum = 2  # time : 55.9383509159
    processnum = 2 # 进程版本 processnum:2, time : 55.9383509159;processnum:1,time : 108.528738976 ;线程版本 processnum:2,time : 55.0623002052 
    pool = Pool(processnum)  
    for i in range(worknum):
        pool.apply_async(timetask, (i, ))  
    pool.close()
    pool.join()
    endTime = time.time()
    print "time :", endTime - startTime

 

2、涉及io  多线程、多进程都用两个cpu  90%左右

# coding=utf-8

from multiprocessing import Pool 
import sys, os
import time

def timetask(times):
       cmd="tar zcfPh /nerri_%s.tar.gz   /tmp"   % times
    os.system(cmd)


    
if __name__ == __main__:
    startTime = time.time()
    worknum = 2  # time : 55.9383509159
    processnum = 2 # 进程版本 processnum:2, time : 55.9383509159;processnum:1,time : 108.528738976 ;线程版本 processnum:2,time : 55.0623002052 
    pool = Pool(processnum)  
    for i in range(worknum):
        pool.apply_async(timetask, (i, ))  
    pool.close()
    pool.join()
    endTime = time.time()
    print "time :", endTime - startTime

 

python多线程和多进程对比

标签:

原文地址:http://www.cnblogs.com/nerrissa/p/5603372.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!