欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 線程鎖概念

錢多多1年前8瀏覽0評論

Python 中線程鎖(Thread Lock)非常重要,可以用來避免多個線程同時對同一個共享數據進行寫操作,導致數據混亂,線程鎖可以保證同時只有一個線程對數據進行操作。

import threading
counter = 0
def increment():
global counter
counter += 1
def worker(lock):
for i in range(10000):
lock.acquire()
increment()
lock.release()
def main():
lock = threading.Lock()
threads = []
# 創建100個線程
for i in range(100):
# 給每個線程分配一個線程鎖
t = threading.Thread(target=worker, args=(lock,))
threads.append(t)
# 啟動所有線程
for t in threads:
t.start()
# 等待所有線程完成
for t in threads:
t.join()
print("Counter =", counter)
if __name__ == '__main__':
main()

在這個例子中,我們創建了一個計數器變量 counter,并用 100 個線程同時對它進行加 1 操作。在每個線程中,我們獲取線程鎖 lock,對 counter 進行操作后,再釋放鎖。這樣可以確保同一時刻只有一個線程能夠獲取鎖并修改 counter。

總結來說,線程鎖是多線程編程中必不可少的工具,能夠確保共享資源的安全訪問,值得我們在編寫多線程代碼時注意。