golang 与swoole的区别

golang 与swoole的区别

关于语言

golang使用静态语言,编写麻烦,单效率高,多用于io密集型计算
swoole php是动态解释执行的,语言性能较差,不适合密集计算程序

关于IO

golang使用单线程eventloop处理IO事件,多线程协程调度运行用户代码
swoole使用多线程eventloop处理IO事件,多进程执行用户代码

###关于协程
golang语言层面支持多线程,使用多线程调度协程 可以实现堆栈文件符共享,但是容易造成数据干扰在使用时需要加锁机制等
swoole语言层不支持多线程,使用单线程实现协程调度,每个线程数据是单独的不存在数据干扰。

关于运行模式

golang是多线程运行,有超全局变量,有数据干扰问题,可以数据共享
swoole是多进程运行,没有超全局变量只有进程级别的变量,没有数据干扰问题,要自己使用 table等实现数据共享

你可能感兴趣的:(php)