欢迎选择我的课程,让我们一起见证您的进步~~
没有像jstack那么方便直接用的东西,一般来说有几个方案:
import pudb; pudb.set_interrupt_handler()
celery
NOTE: 所有依赖signal的方案,有个缺点就是,POSIX有很多函数会在这些中断产生时,返回EINTR,直接导致 Python 异常,比如send, recv, read, write 等等。。。
send
recv
read
write
我不懂 Java,所以不清楚你想要的是什么。你是想打印出所有线程的调用栈吗?好像不容易的样子。
我一般是:
python直接用多线程貌似是不行的 因为有个叫GIL的东西 至于你想看线程情况 可以用pdb调试 试试
没有像jstack那么方便直接用的东西,一般来说有几个方案:
import pudb; pudb.set_interrupt_handler()
,在运行的时候就可以Ctrl-C进入到交互式调试环境,易用性还好吧。celery
实现的 install_cry_handler,或者看看 signalhandler,这个在 Python 3.3 自带了。NOTE: 所有依赖signal的方案,有个缺点就是,POSIX有很多函数会在这些中断产生时,返回EINTR,直接导致 Python 异常,比如
send
,recv
,read
,write
等等。。。我不懂 Java,所以不清楚你想要的是什么。你是想打印出所有线程的调用栈吗?好像不容易的样子。
我一般是:
python直接用多线程貌似是不行的 因为有个叫GIL的东西 至于你想看线程情况 可以用pdb调试 试试