加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Perl中做超时的方法?

发布时间:2020-12-15 21:13:38 所属栏目:大数据 来源:网络整理
导读:我经常使用以下模式来设置Perl中特定代码段的运行时间的上限: my $TIMEOUT_IN_SECONDS = 5;eval { local $SIG{ALRM} = sub { die "alarmn" }; alarm($TIMEOUT_IN_SECONDS); # do stuff that might timeout. alarm(0);};if ($@) { # handle timeout conditi



我经常使用以下模式来设置Perl中特定代码段的运行时间的上限:
my $TIMEOUT_IN_SECONDS = 5;
eval {
    local $SIG{ALRM} = sub { die "alarmn" };
    alarm($TIMEOUT_IN_SECONDS);
    # do stuff that might timeout.
    alarm(0);
};
if ($@) {
    # handle timeout condition.
}

我的问题:

这是正确的做法吗?
>是否有任何情况下,运行时间可能超过$TIMEOUT_IN_SECONDS,或上述方法是否有防弹?

解决方法

你可能想看看 Sys::SigAction.我没有使用它,但它有 some glowing reviews.

要注意的一件事是,如果“可能超时的东西”使用睡眠或报警.另外,在错误处理代码中,我假设您已准备好超时以外的错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读