python multithreading,multiprocessing效率對(duì)比

import multiprocessing as mp
import threading as td
import time

def job(q):
    res = 0
    for i in range(1000000):
        res += i + i ** 2 + i**3
    q.put(res)

def multcore():
    q = mp.Queue()
    p1 = mp.Process(target=job,args=(q,))
    p2 = mp.Process(target=job,args=(q,))
    p1.start()
    p2.start()
    p1.join()
    p2.join()
    res1 = q.get()
    res2 = q.get()
    print('multcore: ',res1 + res2)

def normal():
    res = 0
    for _ in range(2):
        for i in range(1000000):
            res += i + i ** 2 + i**3
    print('normal: ',res)

def multithread():
    q = mp.Queue()
    t1 = td.Thread(target=job,args=(q,))
    t2 = td.Thread(target=job,args=(q,))
    t1.start()
    t2.start()
    t1.join()
    t2.join()
    res1 = q.get()
    res2 = q.get()
    print('multithread: ',res1 + res2)

if __name__ == '__main__':
    st = time.time()

    normal()
    st1 = time.time()
    print('normal time: ',st1 - st)

    multithread()
    st2 = time.time()
    print('multithread time: ', st2 - st1)

    multcore()
    print('multcore time: ',time.time() - st2)

result:

normal time:  1.3973419666290283
multithread time:  1.416612148284912
multcore time:  0.7420649528503418
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 面試時(shí)經(jīng)常被問(wèn)到數(shù)組去重的問(wèn)題,個(gè)人覺(jué)得這種問(wèn)題其實(shí)沒(méi)太大的作用,畢竟在實(shí)際工作中很少能遇到的很大的數(shù)組,所以不論...
    fighterboy閱讀 319評(píng)論 0 0
  • //需要AFN //.h //AFNetworking + (void)post:(NSString *)url ...
    CHADHEA閱讀 883評(píng)論 0 0
  • Demo代碼和引用知識(shí)點(diǎn)都參考自 《理解Python并發(fā)編程一篇就夠了|PoolExecutor篇》--董偉明 或...
    蔣狗閱讀 16,695評(píng)論 1 2
  • 之前就爬過(guò)拉勾網(wǎng),但是遇到一些錯(cuò)誤一直沒(méi)有辦法解決,果斷放棄了,今天又重新試著寫(xiě)寫(xiě)看,對(duì)于一個(gè)菜鳥(niǎo)來(lái)說(shuō),真的都是處...
    小小佐閱讀 1,431評(píng)論 0 0
  • 就象毫米、微米一樣,納米是一個(gè)尺度概念,是一米的十億分之一,并沒(méi)有物理內(nèi)涵。當(dāng)物質(zhì)到納米尺度以后,大約是在...
    秋山知紅葉閱讀 2,903評(píng)論 6 5

友情鏈接更多精彩內(nèi)容