共計 772 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 Python 中,可以使用共享變量來實現雙線程之間的數據傳遞。下面是一個簡單的例子:
import threading
# 創建一個共享變量
shared_variable = 0
# 創建一個鎖來保護共享變量的訪問
lock = threading.Lock()
# 定義一個線程函數,用于增加共享變量的值
def increase():
global shared_variable
for _ in range(1000000):
# 獲取鎖
lock.acquire()
shared_variable += 1
# 釋放鎖
lock.release()
# 定義一個線程函數,用于減少共享變量的值
def decrease():
global shared_variable
for _ in range(1000000):
# 獲取鎖
lock.acquire()
shared_variable -= 1
# 釋放鎖
lock.release()
# 創建兩個線程
t1 = threading.Thread(target=increase)
t2 = threading.Thread(target=decrease)
# 啟動線程
t1.start()
t2.start()
# 等待線程結束
t1.join()
t2.join()
# 輸出共享變量的值
print(shared_variable)
在上述代碼中,我們創建了一個共享變量 shared_variable 和一個鎖 lock。然后我們定義了兩個線程函數increase 和decrease,分別用于增加和減少共享變量的值。在每個線程函數中,我們首先獲取鎖,然后對共享變量進行修改,最后釋放鎖。這樣可以確保每次只有一個線程在訪問共享變量,避免了數據競爭的問題。
最后,我們創建了兩個線程 t1 和t2,并分別啟動它們。然后使用 join 方法等待兩個線程結束,并輸出最終的共享變量的值。
丸趣 TV 網 – 提供最優質的資源集合!
正文完