本文主要是介绍用python写个死锁,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#coding:utf8
import threading
import timenum = 0
lock = threading.Lock()def func(n):lock.acquire()print nif(n == 5):print "到我这就锁死了"raise Exception('大死锁之术!')lock.release()if __name__ == "__main__":t4 = threading.Thread(target=func, args=(5,))t1 = threading.Thread(target=func, args=(8,))t2 = threading.Thread(target=func, args=(4,))t3 = threading.Thread(target=func, args=(2,))t4.start()t1.start()t2.start()t3.start()
加锁需谨慎,在出现exception情况下没有try catch,所有线程都锁死了。
这篇关于用python写个死锁的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!