Multithreading Perl在线程中死亡(并停止整个程序)

Multithreading Perl在线程中死亡(并停止整个程序),multithreading,perl,die,Multithreading,Perl,Die,我有一个生成一组工作线程的Perl脚本。当其中一个线程遇到致命错误时,我希望整个脚本停止运行并打印错误消息 问题是。。。当您在线程中使用die时,它只会终止当前线程,并显示一条消息,如Thread42异常终止:诸如此类诸如此类。。。脚本的其余部分将继续运行 例如: 输出: 线程3异常终止:我死在第15行 如何在线程中产生致命错误以杀死整个脚本?根据: 在线程内部调用会导致整个应用程序终止。因此,强烈反对在线程化代码内部或在线程化应用程序中可能使用的模块中使用exit 如果需要退出,则考虑使用以下

我有一个生成一组工作线程的Perl脚本。当其中一个线程遇到致命错误时,我希望整个脚本停止运行并打印错误消息

问题是。。。当您在线程中使用die时,它只会终止当前线程,并显示一条消息,如Thread42异常终止:诸如此类诸如此类。。。脚本的其余部分将继续运行

例如:

输出:

线程3异常终止:我死在第15行

如何在线程中产生致命错误以杀死整个脚本?

根据:

在线程内部调用会导致整个应用程序终止。因此,强烈反对在线程化代码内部或在线程化应用程序中可能使用的模块中使用exit

如果需要退出,则考虑使用以下内容:

threads->exit() if threads->can('exit');   # Thread friendly
exit(status);

只调用exit是可行的,但它会打印一个丑陋的程序,该程序以运行线程错误终止。有没有办法杀死所有线程并干净地退出?
threads->exit() if threads->can('exit');   # Thread friendly
exit(status);