董俊俊 的个人动态
  • 董俊俊 发布了文章
    1天前

    Swoole协程执行流程

    Swoole协程执行流程遵循以下原则: 协程没有IO等待时正常执行PHP代码,不会产生执行流程切换。 协程遇到IO等待时立即将控制权切出,等待IO完成后,重新将执行流切回原来协程切出的点。 协程并行时
  • 董俊俊 发布了文章
    1天前

    Swoole4 协程调度

    4.0协程实现中,主协程即为Reactor协程,负责整个EventLoop的运行。主协程实现事件监听,在IO事件完成后唤醒其他工作协程。协程挂起在工作协程中执行一些IO操作时,底层会将IO事件注册到E
  • 董俊俊 发布了文章
    1天前

    Swoole实现原理

    Swoole-2.0基于setjmp、longjmp实现,在进行协程切换时会自动保存Zend VM的内存状态(主要是EG全局内存和vm stack)。 setjmp和longjmp主要是用于从Zend
  • 董俊俊 发布了文章
    1天前

    Swoole 常见问题

    协程是并行执行的吗?协程与线程不同,在一个进程内创建的多个协程,实际上是串行的。同一CPU时间,只有一个协程在执行,因此协程不存在数据同步问题。协程内可以安全的修改全局变量的值,而不考虑锁的问题。在协
  • 董俊俊 发布了文章
    1天前

    swoole与golang相比有哪些优势

    开发效率 Go语言是本质上是静态语言,开发效率稍差,但性能更强,更适合底层软件的开发 Swoole使用PHP语言,动态脚本语言,开发效率最佳,更适合应用软件的开发IO模型 go语言使用单线程 even
  • 董俊俊 发布了文章
    1天前

    swoole与node.js相比有哪些优势

    CPU多核的利用 node.js没有内置对多线程/多进程的支持,用户必须使用cluster/child_process等扩展自行实现并行 swoole内置对多线程/多进程的支持,用户仅需配置参数即可对
  • 董俊俊 发布了文章
    1天前

    学习Swoole需要掌握哪些基础知识

    多进程/多线程 了解 Linux操作系统进程和线程的概念 了解 Linux进程/线程切换调度的基本知识 了解进程间通信的基本知识,如 管道、UnixSocket、消息队列、共享内存
  • 董俊俊 发布了文章
    1天前

    Swoole 与 php-fpm 在 HTTP 方面的差异

    Swoole 与 php-fpm 在 HTTP 方面的差异:Nginx -> PHP-FPM -> 加载框架,同步阻塞执行(返回结果) [Nginx] ->
  • 董俊俊 发布了文章
    1天前

    同步阻塞与异步非阻塞适用场景

    同步的优势 编码简单,同步模式编写/调试程序更轻松 可控性好,同步模式的程序具有良好的过载保护机制,如在下面的情况异步程序就会出问题 Accept保护,同步模式下一个TCP服务器最大能接受 
  • 董俊俊 发布了文章
    1天前

    swoole 支持协程的回调方法列表

    目前Swoole2仅有部分事件回调函数底层自动创建了协程,可以调用协程客户端。本节列出了支持协程客户端的回调列表以及实现的版本号。在不支持协程的位置可以使用go或Co::create创建协程v2.0.
  • 董俊俊 发布了文章
    1天前

    Swoole 为什么只能在回调函数中使用协程客户端

    因为只有 onReceive、onRequest 等回调函数中创建了协程,因此只能在这些回调函数的生命周期内使用协程客户端。但不影响 PHP 代码对协程客户端进行一些代码封装。最新
  • 董俊俊 发布了文章
    4天前

    SWOOLE结构与进程函数

    继续上一篇文章,主要是说到 tcp 的问题及其解决方法,进程与线程的概念。问题解决方法主要是用到包头+包体的方式。 进程、线程、协程概念及关系一个运行的程序是依赖于一个进程的,但是进程的资源
  • 董俊俊 发布了文章
    4天前

    TCP粘包问题和SWOOLE运行流程

    上一篇文章主要讲了通过nginx反向代理,实现客户端访问服务端的请求转发,这个主要运用在传统框架tp,laravel通过swoole实现加速,本质就是运行的swoole服务,ip:端口号。网络协议及其
  • 董俊俊 发布了文章
    6天前

    Swoole快速入门

    我们可以通过命令php -m | grep swoole来查看安装的swoole扩展是否成功;通过命令php --ri swoole来查看swoole扩展的具体信息。对于一些安装swoole扩展之后,
  • 董俊俊 发布了文章
    6天前

    Swoole网络协议与TCP问题

    上一篇主要说到了长连接、心跳检测机制、udp和tcp、异步扩展,需要注意的是异步扩展安装版本要一致,重点是udp和tcp的区别。udp特点:不负责任,只发送不管结果,tcp:专业,确定相互之间的通信,
  • 董俊俊 发布了文章
    6天前

    SWOOLE结构与运行模式

    前言文章开始之前,我们有几个知识点疑问? 什么是同步和异步? 什么是阻塞和非阻塞? 什么是同步阻塞? 什么是同步非阻塞? 什么是异步阻塞和异步非阻塞?swoole的异步模块和异步客户端? 网络通信协议
  • 董俊俊 发布了文章
    6天前

    用PHP如何实现敏感词过滤

    本文实例讲述了PHP实现的敏感词过滤方法。分享给大家供大家参考,具体如下:1、敏感词过滤方法/** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数组
  • 董俊俊 发布了文章
    6天前

    PHP进程间通信操作——信号

    信号是一种系统调用。通常我们用的kill命令就是发送某个信号给某个进程的。具体有哪些信号可以在liunx/mac中运行 kill -l 查看。下面这个例子中,父进程等待5秒钟,向子
  • 董俊俊 发布了文章
    6天前

    PHP 7.4 语法:箭头函数

    短闭包,也叫做箭头函数,是一种用 php 编写的短函数。当向函数中传递闭包时,这个功能是非常有用的,比如使用 array_map 或是 array_filter&nbsp
  • 董俊俊 发布了文章
    6天前

    Thinkphp5与QueryList,也可以实现采集(爬虫)页面功能

    QueryList 是什么QueryList是一套用于内容采集的PHP工具,它使用更加现代化的开发思想,语法简洁、优雅,可扩展性强。相比传统的使用晦涩的正则表达式来做采集,QueryList使用了更加
最近访客
  • 小花花
    小花花 1个月前