swoole 类中使用定时器  服务端 server

<?php
class TimerServer
{private $serv;public function __construct() {$this->serv = new swoole_server("0.0.0.0", 9501);$this->serv->set(array('worker_num' => 8,'daemonize' => false,'max_request' => 10000,'dispatch_mode' => 2,'debug_mode'=> 1 ,));$this->serv->on('WorkerStart', array($this, 'onWorkerStart'));$this->serv->on('Connect', array($this, 'onConnect'));$this->serv->on('Receive', array($this, 'onReceive'));$this->serv->on('Close', array($this, 'onClose'));// bind callback// $this->serv->on('Timer', array($this, 'onTimer'));$this->serv->start();}public function onWorkerStart( $serv , $worker_id) {// 在Worker进程开启时绑定定时器echo "onWorkerStart\n";// 只有当worker_id为0时才添加定时器,避免重复添加if( $worker_id == 0 ) {swoole_timer_after(2500, function () {echo "after 2500ms.\n";});swoole_timer_tick(1500, function () {echo "tick  1500ms.\n";});}}public function onConnect( $serv, $fd, $from_id ) {echo "Client {$fd} connect\n";}public function onReceive( swoole_server $serv, $fd, $from_id, $data ) {echo "Get Message From Client {$fd}:{$data}\n";}public function onClose( $serv, $fd, $from_id ) {echo "Client {$fd} close connection\n";}/*public function onTimer($serv, $interval) {switch( $interval ) {case 500: {     //echo "Do Thing A at interval 500\n";break;}case 1000:{echo "Do Thing B at interval 1000\n";break;}case 100:{echo "Do Thing C at interval 100\n";break;}}}
*/
}
new TimerServer();

swoole 类中使用定时器相关推荐

  1. java线程系列---类中的定时器Timer

    常用的定时用法为:new Timer().schedule(new MyTimerTask(), 2000); 表示为:2秒之后执行MyTimerTask里的方法 new Timer().schedu ...

  2. java怎么加定时器_JAVA WEB程序中添加定时器

    JAVA WEB程序中添加定时器 //这是我的定时器类,用来定时执行某段任务: package com.my.time; import java.text.ParseException; import ...

  3. Java并发基础02. 传统线程技术中的定时器技术

    传统线程技术中有个定时器,定时器的类是Timer,我们使用定时器的目的就是给它安排任务,让它在指定的时间完成任务.所以先来看一下Timer类中的方法(主要看常用的TimerTask()方法): 前面两 ...

  4. 基于Android中实现定时器的3种解决方法

    在Android开发中,定时器一般有以下3种实现方法: 一.采用Handler与线程的sleep(long)方法 二.采用Handler的postDelayed(Runnable, long)方法 三 ...

  5. java中的定时器的实现样例

    1.在pom.xml文件中添加定时器需要的jar包 <!-- quartz start --> <dependency><groupId>org.quartz-sc ...

  6. JDK中Timer定时器底层到底是怎么实现的?

    关于定时器在JDK中提供了两种方式,一种是 Timer(同步调度) ,另一种是ScheduledThreadPoolExecutor(异步调度). 更高级的任务调度开源框架就比较多了,但最核心的定时器 ...

  7. C++中的定时器-SetTimer

    先请看SetTimer这个API函数的原型 [cpp] view plaincopy print? [cpp] view plaincopy print? [cpp] view plaincopy p ...

  8. S5PV210中的定时器

    来源:朱有鹏老师的嵌入式课程笔记 文章目录 概述 什么是定时器? 定时器.看门狗.RTC.蜂鸣器的关系 S5PV210中的定时器 PWM定时器 PWM定时器的逻辑框图 TCNT&TCNTB&a ...

  9. QT之QTimer详解以及结合多线程中开启定时器的示例

    一 QTimer详解 QTimer类提供了重复和单次触发信号的定时器. a.void timeout ()定时器超时后,这个信号被发射. b.void start()开启定时器,它的重载函数void ...

最新文章

  1. 三百元月薪的小资生活
  2. 八十八、Webpack打包工具
  3. 昨天又写到个结构体排序,用多种cmp
  4. ACM思维题训练 Section A
  5. vb excel 整行删除_Excel中常用的批量处理都不掌握,那就真的Out了
  6. rails 5 action cable 服务器部署
  7. 解决不产生nohup.out文件方法
  8. 升级win11-需要开启主板的tpm2.0
  9. 强大的Android参数模拟器,自由修改手机型号、SDK版本号等信息
  10. PLC数据采集解决方案及数采网关
  11. java常见面试题总结2
  12. Android高级开发进阶图谱
  13. Android初学者需掌握的几点经验:该如何自学Android开发?(Android自学资料大全)
  14. Linux系统中sda是什么意思?
  15. 图说卡尔曼滤波(C++实现)
  16. ERP 数据流脚本框架 Samsara v2.0 脚本规范 (修订稿)
  17. ASP.NET给图片加水印
  18. 骨干网-网络建设特点
  19. 帝豪gs车机系统wince_GKUI 19后装车机体验:质感有余/功能不足
  20. Dynamsoft 条码阅读器,实现条码扫描

热门文章

  1. pytorch:tensor的运算
  2. 机器学习2/100天-简单线性回归
  3. git缓冲区查看_git原理学习记录:从基本指令到背后原理,实现一个简单的git
  4. python api框架 hook_python学习之hook钩子的原理和使用
  5. java中修改密码_java中用户密码加密时增加和修改的代码
  6. 12.15 Ext JS 选人组件
  7. antd权限管理_Ant Design Pro开发后台管理系统(权限)-阿里云开发者社区
  8. python写ini文件不能保持原有顺序问题_python 生成 xml文件 属性的顺序问题
  9. LINUX底层文件1008无标题,Linux系统下常见问题的解决方法
  10. cf1月超级翻盘_CF1月超级翻牌活动地址 2020年CF超级翻盘活动全攻略