加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP中使用pcntl_alarm函数来设定计时器的到期时间上限

发布时间:2023-11-14 16:27:07 所属栏目:PHP教程 来源:
导读:到php官方查看此函数说明

pcntl_alarm (PHP 4 >= 4.3.0, PHP 5)

pcntl_alarm — 为进程设置一个alarm闹钟信号

说明¶int pcntl_alarm ( int $seconds )

创建一个计时器,在指定的秒数后向进
到php官方查看此函数说明
 
pcntl_alarm (PHP 4 >= 4.3.0, PHP 5)
 
pcntl_alarm — 为进程设置一个alarm闹钟信号
 
说明¶int pcntl_alarm ( int $seconds )
 
创建一个计时器,在指定的秒数后向进程发送一个SIGALRM信号。每次对 pcntl_alarm()的调用都会取消之前设置的alarm信号。
 
参数¶seconds 等待的秒数。如果seconds设置为0,将不会创建alarm信号。
 
返回值¶返回上次alarm调度(离alarm信号发送)剩余的秒数,或者之前没有alarm调度(译注:或者之前调度已完成) 时返回0。

实例
 
 代码如下
 
1
 
declare(ticks = 1);
 
function a()
 
{
 
    sleep(10);
 
    echo "a finishin";
 
}
 
function b()
 
{
 
    echo "Stopn";
 
}
 
function c()
 
{
 
    usleep(100000);
 
}
 
function sig()
 
{
 
    throw new Exception;
 
}
 
try
 
{
 
    //设置一个闹钟信号为一秒钟执行一次
 
    pcntl_alarm(1);
 
    //安装闹钟信号,并绑定callback
 
    pcntl_signal(SIGALRM, "sig");
 
    a();
 
    //取消闹钟信号
 
    pcntl_alarm(0);
 
}
 
catch(Exception $e)
 
{
 
    echo "timeoutn";
 
}

b();
 
a();
 
b();
 
附,pcntl扩展安装
 
pcntl扩展可以支持php的多线程操作.
 
原本需要重新编译PHP的后面configrue提示加上--enable-pcntl
 
为了省事直接编译算鸟.
 
 代码如下
 
1 # cd /usr/local/src/php-5.2.6/ext/pcntl
 
# phpize
 
# ./configure --with-php-config=/usr/local/php/bin/php-config
 
# make && make install
 
pcntl.so  加到php.ini中OK
 
 

(编辑:聊城站长网)

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

    推荐文章