1. 程式人生 > >創建進程的第二種方法,以後很多都用這個方法。

創建進程的第二種方法,以後很多都用這個方法。

開始 port 創建進程 打印 .com 繼承 lee utf-8 .get

# _*_ coding:utf-8 _*_
# __author__ = "巴豆"
# Email: [email protected]

import os
import time
from multiprocessing import Process # 引入multiprocessing中的Process模塊。


class Myprocess(Process): # 自定一個Myprocess類,繼承Process類。
def __init__(self,n,name): # 要想傳遞參數,必須寫__init__方法,在這個方法裏才能傳遞參數。
super().__init__() # 但是由於父類Process的__init__方法進行了某些操作,自己重寫__init__方法會覆蓋父類的方法,所以在這裏還必須要用到super函數,來調用父類的__init__方法,這樣父類的__init__方法進行的操作就都有了。
self.n = n # 這是傳遞進來的參數,可以很方便的使用了。
self.name = name # 這是傳遞進來的子進程的名稱,同樣使用方便。總之,就是傳遞參數。

def run(self): # 創建進程還必須自己寫出run方法,必須寫。因為必須調用這個方法才能創建進程。
print(‘子進程的id號:‘,os.getpid())
print(‘傳遞的參數‘,self.n)

if __name__ == ‘__main__‘:
p1 = Myprocess(100,name=‘取個什麽名字好呢?‘) # 自己創建的i進程,可以給定一個自己喜歡的名稱。
p1.start() # 進程開始執行,進行兩件事。1,給操作系統發一個創建進程的指令,然後由操作系統去創建進程。2,子進程創建好以後,就會執行run方法。
time.sleep(5) #這句話我自己胡亂加的,沒意義。
print(‘打印我自己決定的傳遞過去的子進程名:‘,p1.name) # 調用傳遞的子進程名
print(‘打印得到的子進程的id號:‘,p1.pid) # 調用子進程的id號。
print(‘主進程結束‘)











創建進程的第二種方法,以後很多都用這個方法。