python多线程threading.Lock锁用法实例
本文实例讲述了python多线程threading.Lock锁的用法实例,分享给大家供大家参考。具体分析如下:
python的锁可以独立提取出来
mutex=threading.Lock() #锁的使用 #创建锁 mutex=threading.Lock() #锁定 mutex.acquire([timeout]) #释放 mutex.release()
锁定方法acquire可以有一个超时时间的可选参数timeout。如果设定了timeout,则在超时后通过返回值可以判断是否得到了锁,从而可以进行一些其他的处理。
#!/usr/bin/envpython #coding=utf-8 importthreading importtime classMyThread(threading.Thread): defrun(self): globalnum time.sleep(1) ifmutex.acquire(1): num=num+1 msg=self.name+'setnumto'+str(num) printmsg mutex.release() num=0 mutex=threading.Lock() deftest(): foriinrange(5): t=MyThread() t.start() if__name__=='__main__': test() Thread-1setnumto1 Thread-3setnumto2 Thread-4setnumto3 Thread-5setnumto4 Thread-2setnumto5
希望本文所述对大家的Python程序设计有所帮助。