Python-程序與執行緒
阿新 • • 發佈:2021-07-28
1 import time 2 from multiprocessing import Process 3 import os 4 5 6 def dance(num, name): 7 print('Process of basketball is %s.' % os.getpid()) 8 for i in range(num): 9 print(name+' is playing basketball right now.') 10 time.sleep(0.5) 11 12 13 def sing(num, name):14 print('Process of the guitar is %s.' % os.getpid()) 15 for i in range(num): 16 print(name+' is playing the guitar next door.') 17 time.sleep(0.5) 18 19 20 if __name__ == '__main__': 21 print('Parent process: %s.' % os.getpid()) 22 # 下面這兩個是在建立子程序物件並指定執行的任務名 23 #target就是指定函式名,args就是引數 24 # 若使用元組,引數位置必須按照定義的函式的順序來寫 25 p = Process(target=dance, args=(2, 'Bob')) # 只傳一個引數時,加個逗號,否則直譯器會認為這不是一個元祖而是一個數字 26 f = Process(target=sing, kwargs={'num': 2, 'name': 'Eric'}) # 使用字典時,甚至可以不按順序,只要引數名稱對就可以 27 # 啟動子程序並執行任務 28 p.start() 29 f.start() 30 p.join()31 f.join() 32 print('Boys love these things.')