标签归档:python

一段多线程死锁代码

data = []
lock = thread.allocate()

def getItem():
  item = None
  if lock.acquire():
    if 0 != len(data) :
      item = data.pop()
      lock.release()
  return item

以上代码显示,只有当任务队列里有数据的时候才会释放锁,否则,不释放,将引发其他相关的消费线程锁死。