python多進(jìn)程取代多線(xiàn)程的探究
1、說(shuō)明
可以使用多核CPU的多進(jìn)程。
利用多進(jìn)程,我們并行地運(yùn)行一些python解釋器,每個(gè)進(jìn)程都有自己的私有空間,有自己的GIL,而且每個(gè)進(jìn)程都是串行的,因此GIL之間不存在競(jìng)爭(zhēng)。
所以GIL沒(méi)有任何問(wèn)題。Python提供了一個(gè)multiprocessing模塊,使我們可以很容易地創(chuàng)建流程。
2、實(shí)例
importtime
frommultiprocessingimportPool
COUNT=10000000
start=time.clock()
defcountdown(n):
whilen>0:
n-=1
pool=Pool(processes=2)
start=time.clock()
r1=pool.apply_async(countdown,[COUNT//2])
r2=pool.apply_async(countdown,[COUNT//2])
pool.close()
pool.join()
print('Timeused:',time.clock()-start)
#('Timeused:',0.0017779999999998353)
以上就是python多進(jìn)程取代多線(xiàn)程的探究,希望能對(duì)大家有所幫助。如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。