Go 语言并发编程系列教程(一):多进程、多线程与协程的引入

为什么需要并发编程 在原生 PHP 中并没有并发的概念,所有的操作都是串行执行的、同步阻塞的,这也是很多人诟病 PHP 性能的原因,但是不支持并发编程的好处也是显而易见的:保证了 PHP 的简单性,开发者不必考虑并发引入的线程安全,也不需要在编程时权衡是否需要通过加锁来保证某个操作的原子性,也没有线程间通信问题,鱼和熊掌不可得兼,你不可能既要上手简单又要高性能,实际上,90%以上公司的业...

[ PHP 内核与扩展开发系列] PHP 生命周期 —— 启动、终止与模式

启动与终止 PHP程序的启动可以看作有两个概念上的启动,终止也有两个概念上的终止。 其中一个是 PHP 作为Apache(拿它举例,板砖勿扔)的一个模块的启动与终止, 这次启动 PHP 会初始化一些必要数据,比如与宿主 Apache 有关的,并且这些数据是常驻内存的,终止与之相对。还有一个概念上的启动就是当 Apache 分配一个页面请求过来的时候,PHP会有一次启动与终止,这也是我们...