Python網編 程序之間的資料隔離

2022-02-26 09:43:08 字數 544 閱讀 5348

寫在前面:

控制台的本質是乙個檔案

檔案操作的時候盡量不要用r+ w+ a+ 如果用要小心檔案指標混亂

隨著程序數量的增多會有一些隱患

from multiprocessing import

process

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個數相關。程序池的概念 魚池是放魚的,水池是放水的,獎金池是放獎金的,顧名思義程序池就是放程序的。我們想象,先建立叫程序池容器,然後製作四個程序放到這個程序池裡,當有任務...