我在堆栈中发现了有关在Perl中实现超时的多个帖子。但是,我还没有看到有关任何建议的方法是否为线程安全的任何信息。
我有一个自定义PERL应用程序,每个线程都运行一个特定功能。我想创建一个超时,以便如果每个线程内在一定时间内运行的功能都无法完成,则该功能的执行在该特定线程中停止,我运行了一些清理代码。
潜在的解决方法可能是运行这些多个线程作为单独的perl脚本实例,而是完全避免使用线程,但这需要对我的代码进行一些重大重写。
以线程保护方式实现此超时功能的最佳方法是什么?
您可以使用警报来设置超时。阅读有关它们的手册和警报。
只要您在线程内设置信号/警报,就应该可以。