python 多進程的兩種創建方式
阿新 • • 發佈:2019-04-13
sel 教程 -s 啟動進程 class rate %s sta range
Python中使用線程有兩種方式:函數或者用類來包裝線程對象。
第一種---------函數
菜鳥教程的我沒看懂,說說我自己懂的----看視頻理解的
import time import threading def coding(): for x in range(3): print(‘正在寫代碼:%s‘ % threading.current_thread()) # 獲取進程名字 time.sleep(1) def drawing(): for x in range(3): print(‘正在畫圖:%s‘ % threading.current_thread()) time.sleep(1) def main(): t1 = threading.Thread(target=coding) # 創建子線程 指定進程要運行的函數 t2 = threading.Thread(target=drawing) # 傳遞函數名 不需要帶() 帶()的是傳遞函數返回值 t1.start() # 啟動進程 t2.start() print(threading.enumerate()) #輸出當前的進程數if __name__ == ‘__main__‘: main()
第二種----類
簡單點說,就是創建一個類,然後把需要作為進程運行的內容放在run 函數中就行了,之後通過創建對象的方式創建進程
import threading import time class CodingThread(threading.Thread): def run(self): for x in range(3): print(‘正在寫代碼:%s‘ % threading.current_thread()) # 獲取進程名字time.sleep(1) class DrawingThread(threading.Thread): def run(self): for x in range(3): print(‘正在畫圖:%s‘ % threading.current_thread()) time.sleep(1) def main(): t1 = CodingThread() # 通過創建對象的方式創建進程 t2 = DrawingThread() t1.start() t2.start() if __name__ == ‘__main__‘: main()
python 多進程的兩種創建方式