淺顯點理解:進程就是一個程序,里面的線程就是用來干活的,,,進程大,線程小
一、多線程threading
簡單的單線程和多線程運行:一個參數時,后面要加逗號
步驟:for循環,相當於多個線程——t=threading.Thread(target=函數名,args=(參數,))——t.start()——while threading.active_count()!=1:pass
添加主線程的打印功能,會發現,會先運行完主線程,才會去運行子線程
要想先運行完子線程再去運行主線程的2個辦法:
舉例:多線程下載圖片
二、多進程multiprocessing:windows一定要放在if __name__=='__mian__'下面運行,否則會報錯
步驟:for循環,相當於創建多個進程——p=multiprocessing.Process(target=函數名,args=(參數,))——p.start()——while len(multiprocessing.active_children())!=1: pass
三、線程池 threadpool
步驟:pool=threadpool.ThreadPool(200)——reqs=threadpool.makeRequests(函數名,數據)——[pool.putRequest(t) for t in reqs]——pool.wait()