我经常使用以下模式来设置Perl中特定代码段的运行时间的上限:
my $TIMEOUT_IN_SECONDS = 5; eval { local $SIG{ALRM} = sub { die "alarm\n" }; alarm($TIMEOUT_IN_SECONDS); # do stuff that might timeout. alarm(0); }; if ($@) { # handle timeout condition. }
我的问题:
这是正确的做法吗?
>是否有任何情况下,运行时间可能超过$TIMEOUT_IN_SECONDS,或上述方法是否有防弹?
解决方法
你可能想看看
Sys::SigAction.我没有使用它,但它有
some glowing reviews.
原文地址:https://www.jb51.cc/Perl/172718.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。