企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## php多线程 [PHP 实现-多线程编程 - 李留广 - 博客园](https://www.cnblogs.com/liliuguang/p/9895889.html) > 多线程的优化是很多,可是无脑使用多线程并不能提升程序的执行效率,因为线程的创建和销毁、上下文切换、线程同步等也是有性能损耗的,耗费时间可能比顺序执行的代码还多。 [php中进程锁和多进程的实现_Rodgexue的专栏-CSDN博客](https://www.cnblogs.com/lazyegg/p/13625275.html) [PHP 真正多线程的使用 - 张宴的博客 - Web系统架构与底层研发](http://zyan.cc/pthreads/) [不支持原子性的 Redis 事务也叫事务吗? - 不假 - 博客园](https://www.cnblogs.com/lazyegg/p/13625275.html) [用 Gearman 分发 PHP 应用程序的工作负载 – IBM Developer](https://developer.ibm.com/zh/articles/os-php-gearman/) [simple-fork-php/README.ZH.MD at master · huyanping/simple-fork-php](https://github.com/huyanping/simple-fork-php/blob/master/README.ZH.MD) [PHP declare(ticks=N); 的作用_高性能php socket框架 - workerman-CSDN博客](https://blog.csdn.net/udefined/article/details/24333333) [PHP declare(ticks=N); 的作用 - 睡着的糖葫芦 - 博客园](https://www.cnblogs.com/loveyouyou616/p/5799933.html) [韩天峰(Rango)的博客 » PHP官方的pcntl_signal性能极差](http://rango.swoole.com/archives/364) > 这段代码在执行pcntl\_signal前,先加入了declare(ticks = 1)。**因为PHP的函数无法直接注册到操作系统信号设置中,所以pcntl信号需要依赖tick机制。** 通过查看pcntl.c的源码实现发现。pcntl\_signal的实现原理是,触发信号后先将信号加入一个队列中。然后在PHP的ticks回调函数中不断检查是否有信号,如果有信号就执行PHP中指定的回调函数,如果没有则跳出函数。