python多線程threading.Lock鎖用法實(shí)例
本文實(shí)例講述了python多線程threading.Lock鎖的用法實(shí)例,分享給大家供大家參考。具體分析如下:
python的鎖可以獨(dú)立提取出來(lái)
#鎖的使用
#創(chuàng)建鎖
mutex = threading.Lock()
#鎖定
mutex.acquire([timeout])
#釋放
mutex.release()
鎖定方法acquire可以有一個(gè)超時(shí)時(shí)間的可選參數(shù)timeout。如果設(shè)定了timeout,則在超時(shí)后通過(guò)返回值可以判斷是否得到了鎖,從而可以進(jìn)行一些其他的處理。
#coding=utf-8
import threading
import time
class MyThread(threading.Thread):
def run(self):
global num
time.sleep(1)
if mutex.acquire(1):
num = num+1
msg = self.name+' set num to '+str(num)
print msg
mutex.release()
num = 0
mutex = threading.Lock()
def test():
for i in range(5):
t = MyThread()
t.start()
if __name__ == '__main__':
test()
Thread-1 set num to 1
Thread-3 set num to 2
Thread-4 set num to 3
Thread-5 set num to 4
Thread-2 set num to 5
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python使用matplotlib實(shí)現(xiàn)交換式圖形顯示功能示例
這篇文章主要介紹了Python使用matplotlib實(shí)現(xiàn)交換式圖形顯示功能,結(jié)合實(shí)例形式詳細(xì)分析了Python基于matplotlib模塊的數(shù)值運(yùn)算與圖形繪制相關(guān)操作技巧,需要的朋友可以參考下2019-09-09
Python中Django框架利用url來(lái)控制登錄的方法
這篇文章主要介紹了Python中Django框架利用url來(lái)控制登錄的方法,實(shí)例分析了Django框架實(shí)現(xiàn)URL登陸的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Python爬蟲(chóng)之Selenium下拉框處理的實(shí)現(xiàn)
這篇文章主要介紹了Python爬蟲(chóng)之Selenium下拉框處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python列表推導(dǎo)式與生成器表達(dá)式用法示例
這篇文章主要介紹了Python列表推導(dǎo)式與生成器表達(dá)式用法,簡(jiǎn)單描述了Python列表推導(dǎo)式與生成器表達(dá)式的概念、功能,并結(jié)合具體實(shí)例形式分析了Python列表推導(dǎo)式與生成器表達(dá)式簡(jiǎn)單使用技巧,需要的朋友可以參考下2018-02-02
python學(xué)習(xí)將數(shù)據(jù)寫(xiě)入文件并保存方法
在本篇文章里小編給大家分享的是關(guān)于python將數(shù)據(jù)寫(xiě)入文件并保存的實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-06-06

