用python写个死锁

来源:互联网 发布:航迹规划 算法 编辑:程序博客网 时间:2024/06/06 03:46
#coding:utf8import threadingimport timenum = 0lock = threading.Lock()def func(n):    lock.acquire()    print n    if(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,所有线程都锁死了。

0 0
原创粉丝点击