進程的內容
生產者消費者模型
爬取網頁
數據共享
Manager
線程的概念
python當中的線程的特點
threading模塊開啟線程
開啟進程的另一種方式
class 類名(process):
def __init__(self,參數):
self.屬性名 = 參數
super().__init__()
def run(self):
print('子進程要執行的代碼')
p = 類名()
p.start()
守護進程:等待主進程代碼結束之后就立即結束
p = 類名()
p.darmon = True # 設置守護進程
p.start()
一般情況下,多個進程的執行順序,可能是:
主進程代碼結束-->守護進程結束-->子進程結束-->主進程結束
鎖:保證數據的安全,會降低效率
form multiprocessing import Lock
lock = Lock()
lock.acquire()
...
lock.release()
with lock:
...
隊列 ipc 進程之間通信 --數據安全
基於socket\pickle\Lock實現的
pipe管道 基於socket\pickle實現,沒有鎖數據不安全
生產者消費者模型
把原本獲取數據處理數據的完整過程進程了 解耦
把生產數據和消費數據分開,根據生產和消費的效率不同,來規划生產者和消費者的個數,
讓程序的執行效率達到平衡
異步阻塞,異步非阻塞
如果你寫了一個程序的功能\代碼都在一起,不分函數不分類也不分文件
緊耦合的程序
拆分的很清楚的程序
松耦合的程序