您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman的Timer定时器类的定时器注意事项-多进程的进程安全(并发问题)
发布时间:2021-12-05 00:17:38编辑:雪饮阅读()
多进程设置了,定时任务可能会造成并发问题,例如下面的代码每秒会打印5次。
<?php
use Workerman\Worker;
use Workerman\lib\Timer;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker();
// 5个进程
$worker->count = 5;
$worker->onWorkerStart = function(Worker $worker) {
// 5个进程,每个进程都有一个这样的定时器
Timer::add(1, function(){
echo "hi time:".date("H:i:s",time())."\r\n";
});
};
Worker::runAll();
// 运行worker
Worker::runAll();
?>
实例运行:
[root@izj6c2jeancylo0ppo4vz5z workerman]# php test.php start
Workerman[test.php] start in DEBUG mode
------------------------------------- WORKERMAN --------------------------------------
Workerman version:4.0.22 PHP version:7.0.33
-------------------------------------- WORKERS ---------------------------------------
proto user worker listen processes status
tcp root none none 5 [OK]
--------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
hi time:16:16:40
hi time:16:16:40
hi time:16:16:40
hi time:16:16:40
hi time:16:16:40
hi time:16:16:41
hi time:16:16:41
hi time:16:16:41
hi time:16:16:41
hi time:16:16:41
hi time:16:16:42
hi time:16:16:42
hi time:16:16:42
hi time:16:16:42
hi time:16:16:42
hi time:16:16:43
hi time:16:16:43
hi time:16:16:43
hi time:16:16:43
hi time:16:16:43
hi time:16:16:44
hi time:16:16:44
hi time:16:16:44
hi time:16:16:44
hi time:16:16:44
hi time:16:16:45
hi time:16:16:45
hi time:16:16:45
hi time:16:16:45
hi time:16:16:45
hi time:16:16:46
hi time:16:16:46
hi time:16:16:46
hi time:16:16:46
hi time:16:16:46
hi time:16:16:47
hi time:16:16:47
hi time:16:16:47
hi time:16:16:47
hi time:16:16:47
hi time:16:16:48
hi time:16:16:48
hi time:16:16:48
hi time:16:16:48
hi time:16:16:48
^CWorkerman[test.php] stopping ...
Workerman[test.php] has been stopped
关键字词:workerman,Timer,定时器,多进程,进程,安全,并发
相关文章
- workerman的Timer定时器类的定时器注意事项-定时器id
- workerman的Timer定时器类的del方法实现定时器删除
- workerman的Timer定时器类的del方法实现定时器回调中
- workerman的Timer定时器类的add方法实现只在进程中的
- workerman的Timer定时器类的add方法实现匿名传参定时
- workerman的Timer定时器类的add方法实现定时器中销毁
- workerman的Timer定时器类的add方法实现定时器中销毁
- workerman的Timer定时器类的add方法实现定时器函数为
- workerman的Timer定时器类的add方法实现定时器函数为
- workerman的Timer定时器类的add方法实现定时函数为类