以前觉得调试多线程是个难题,今天和同事研究了一下,有点思路。
如果觉得程序有问题,使用ctrl+c停止程序运行,然后查看线程信息。
info threads:可以看出有多少个线程
thread n:第几个线程
bt:可以看出线程是否suspend还是sleep。如果suspend说明等待signal或者mutex。
还有几个问题:
1。如何看出哪个线程suspend还是sleep?
2。如果线程很多(例如上百个),如何判断线程之间的相互影响。
以前觉得调试多线程是个难题,今天和同事研究了一下,有点思路。
如果觉得程序有问题,使用ctrl+c停止程序运行,然后查看线程信息。
info threads:可以看出有多少个线程
thread n:第几个线程
bt:可以看出线程是否suspend还是sleep。如果suspend说明等待signal或者mutex。
还有几个问题:
1。如何看出哪个线程suspend还是sleep?
2。如果线程很多(例如上百个),如何判断线程之间的相互影响。