想要利用CPU多核資源一Python中多進程(一)
作者:金生水起程序猿
由于python中的多線程無法利用多核優勢,如果想要利用CPU多核資源,需要使用多進程。
大綱
- 使用多進程的原因
- 創建多進程的兩種方式
- 守護進程
使用多進程的原因
由于python中的多線程無法利用多核優勢,如果想要利用CPU多核資源,需要使用多進程。
創建多進程
- Process([target [, args [, name [, kwargs]]]])
- # target 表示子進程要執行的任務
- # args 元組參數
- # kwargs 字典參數
- # name 表示子進程的名稱
- # 方式一
- import time
- from multiprocessing import Process
- def run(name):
- print('{0} 開始跑步'.format(name))
- time.sleep(2)
- print('{0} 跑步結束'.format(name))
- p1 = Process(target=run, args=('小華', ))
- p2 = Process(target=run, args=('小米', ))
- p3 = Process(target=run, args=('小中', ))
- p1.start()
- p2.start()
- p3.start()
方式一演示結果
- # 方式二
- 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} 跑步結束'.format(name))
- p1 = Run('小華')
- p2 = Run('小米')
- p3 = Run('小中')
- p1.start()
- p2.start()
- p3.start()
方式二演示結果
守護進程
守護進程會在主進程代碼執行結束后就終止。如果子進程的任務在主進程任務結束后就沒有存在的必要了,那么該子進程應該在開啟前就被設置成守護進程。主進程代碼運行結束,守護進程隨即終止。

啟用time.sleep(3)和注釋后兩種結果演示
責任編輯:姜華
來源:
今日頭條