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