寫在前面:控制台的本質是乙個檔案
檔案操作的時候盡量不要用r+ w+ a+ 如果用要小心檔案指標混亂
隨著程序數量的增多會有一些隱患
from multiprocessing importprocess
n = 100 # 定義乙個全域性變數
deffunc():
global
n # 通過global改變n的值
n -= 1
if__name__ == '
__main__':
lis =
for i in range(2): # 開啟兩個程序
p = process(target=func)
p.start()
for p in
lis:
p.join() # 阻塞到兩個程序結束
print(n) # 列印此時的n的值
執行結果:
100
what,這個100的結果證明程序間的資料確實是隔離的。
Python網編 程序之互斥鎖 lock
我們千方百計實現了程式的非同步,讓多個任務可以同時在幾個程序中併發處理,他們之間的執行沒有順序,一旦開啟也不受我們控制。儘管併發程式設計讓我們能更加充分的利用io資源,但是也給我們帶來了新的問題。當多個程序使用同乙份資料資源的時候,就會引發資料安全或順序混亂問題。import osimport ti...
python網編 程序之開啟乙個程序
直接上 import time,os from multiprocessing import process 匯入模組 deffunc time.sleep 1 print hello os.getpid os.getpid 的作用是列印程序id if name main process targe...
Python網編 程序池
如果我們有多少個任務就開啟多少個程序,實際上是很浪費資源的。由於我們計算機的cpu個數是有限的,所以我們起的程序數量時完全和cpu個數相關。程序池的概念 魚池是放魚的,水池是放水的,獎金池是放獎金的,顧名思義程序池就是放程序的。我們想象,先建立叫程序池容器,然後製作四個程序放到這個程序池裡,當有任務...