84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
欢迎选择我的课程,让我们一起见证您的进步~~
没有像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调试 试试