Python多线程和分段错误

时间:2018-08-08 15:14:24

标签: python multithreading

我有一个程序结构,我的主程序(直接)调用2个线程以并行运行,这2个线程中的一个调用另一个,另一个调用其他2个。因此,我将同时运行5到6个线程

这行得通,问题是在某个时候我无法弄清楚如何/为什么/何时遇到“分段错误”,该程序在99.9%的时间内完全正常运行,我尝试运行(手动)多个线程组合以“强制”段错误,但由于某种原因,我无法执行。

seg错误只会杀死部分程序,这是主要问题。由于我无法真正弄清楚为什么会发生这种情况,所以我想解决这个问题。

我试图在主线程中使用signal处理它。因此,当发生seg错误时,我只会杀死每个线程,但是由于某种原因,主线程不会收到seg错误信号...

我在主程序的开头有这个: signal.signal(signal.SIGSEGV, sigHandler)

但是当seg错误发生时,我的sigHandler从未被调用,我无法在每个线程中使用信号,因为遇到了这个错误:

ValueError: signal only works in main thread

那么,还有其他方法可以捕获在我的主线程中的一个子线程中发生的段错误吗?

0 个答案:

没有答案