时间:2021-04-16
如何防止一个函数执行时间过长呢?在PHP里可以用pcntl时钟信号+异常来实现。
declare(ticks = 1);
function a()
{
sleep(10);
echo "a finishi\n";
}
function b()
{
echo "Stop\n";
}
function c()
{
usleep(100000);
}
function sig()
{
throw new Exception;
}
try
{
pcntl_alarm(1);
pcntl_signal(SIGALRM, "sig");
a();
pcntl_alarm(0);
}
catch(Exception $e)
{
echo "timeout\n";
}
b();
a();
b();
原理是在函数执行前先设定一个时钟信号,如果函数的执行超过规定时间,信号会被触发,信号处理函数会抛出一个异常,被外层代码捕获。这样就跳出了原来函数的执行,接着执行下面的代码。如果函数在规定的时间内,时钟信号不会触发,在函数结束后清除时钟信号,不会有异常抛出。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一个计算php页面运行时间的函数。复制代码代码如下:
本文实例讲述了php运行时动态创建函数的方法。分享给大家供大家参考。具体分析如下:一般的语言函数必须定义了在运行,而php支持在运行时动态创建函数,下面是一个简
本文实例讲述了php实现的Timer页面运行时间监测类及其用法,是一款非常实用的PHP类文件。分享给大家供大家参考。具体分析如下:该phpTimer页面运行时间
Python中的timeit模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。timeit模块是Python标准库中的模块
Python中的timeit模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。timeit模块是Python标准库中的模块