新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
想要利用CPU多核資源一Python中多進程(一)
大綱

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供江州網(wǎng)站建設(shè)、江州做網(wǎng)站、江州網(wǎng)站設(shè)計、江州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、江州企業(yè)網(wǎng)站模板建站服務(wù),十余年江州做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
- 使用多進程的原因
- 創(chuàng)建多進程的兩種方式
- 守護進程
使用多進程的原因
由于python中的多線程無法利用多核優(yōu)勢,如果想要利用CPU多核資源,需要使用多進程。
創(chuàng)建多進程
- Process([target [, args [, name [, kwargs]]]])
- # target 表示子進程要執(zhí)行的任務(wù)
- # args 元組參數(shù)
- # kwargs 字典參數(shù)
- # name 表示子進程的名稱
- # 方式一
- import time
- from multiprocessing import Process
- def run(name):
- print('{0} 開始跑步'.format(name))
- time.sleep(2)
- print('{0} 跑步結(jié)束'.format(name))
- p1 = Process(target=run, args=('小華', ))
- p2 = Process(target=run, args=('小米', ))
- p3 = Process(target=run, args=('小中', ))
- p1.start()
- p2.start()
- p3.start()
方式一演示結(jié)果
- # 方式二
- import time
- from multiprocessing import Process
- class Run(Process):
- def __init__(self, name):
- Process.__init__(self)
- self.name = name
- def run(self):
- print('{0} 開始跑步'.format(name))
- time.sleep(2)
- print('{0} 跑步結(jié)束'.format(name))
- p1 = Run('小華')
- p2 = Run('小米')
- p3 = Run('小中')
- p1.start()
- p2.start()
- p3.start()
方式二演示結(jié)果
守護進程
守護進程會在主進程代碼執(zhí)行結(jié)束后就終止。如果子進程的任務(wù)在主進程任務(wù)結(jié)束后就沒有存在的必要了,那么該子進程應(yīng)該在開啟前就被設(shè)置成守護進程。主進程代碼運行結(jié)束,守護進程隨即終止。
啟用time.sleep(3)和注釋后兩種結(jié)果演示
分享名稱:想要利用CPU多核資源一Python中多進程(一)
文章URL:http://www.5511xx.com/article/coeesdd.html


咨詢
建站咨詢
