为了账号安全,请及时绑定邮箱和手机立即绑定

python 多线程问题?

python 多线程问题?

慕粉1714259728 2016-11-30 17:20:02
代码如下:# coding=utf-8 import time import threading import os def doChore(): print "doChore start" time.sleep(0.5) print "doChore end" def booth(tid): global i global lock while True : print "tid:",tid,"lock start" lock.acquire() if i != 0 : print "tid:",tid,"得到了第",i,"张票" i = i -1 print "now left tickets:",i doChore() else : print "tid:",tid,"no more tickets!" os._exit(0)      lock.release()      print "tid:",tid,"lock end"      doChore() i = 100 lock = threading.Lock() for k in xrange(1,5): print "第",k,"个线程" new_thread = threading.Thread(target=booth,args=(k,)) new_thread.start()运行结果如下:最后线程1并没有release释放锁,请问为什么会这样?
查看完整描述

1 回答

?
angie

TA贡献56条经验 获得超8个赞

不知道是使用的什么操作系统,我在 MacOS 上面测试没发现问题

查看完整回答
反对 回复 2016-12-27
  • 1 回答
  • 0 关注
  • 1146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信