月度归档:2015年08月

python pdb 简单使用

启动pdb:

python -m pdb

定义断点:

b lineno
b filename:lineno

查看断点列表: b

删除断点:
cl 断点编号

运行程序: r

c : 断点运行

查看变量的值:
print 变量名

查看代码: l

n 下一步
s 下一步 会进入到函数内部

bt 函数调用栈

一段多线程死锁代码

data = []
lock = thread.allocate()

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

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