区别:1、go语言使用单线程eventloop处理IO事件,而swoole使用多线程eventloop处理IO事件;2、golang语言层面支持多线程,而swoole语言层不支持多线程;3、go语言有超全局变量,swoole没有超全局变量。
本教程操作环境:Windows10系统、Swoole4&&GO 1.11.2版、DELL G3电脑golang 与swoole的区别
1、关于语言
golang使用静态语言,编写麻烦,单效率高,多用于io密集型计算swoole php是动态解释执行的,语言性能较差,不适合密集计算程序
2、关于IO
立即学习“go语言免费学习笔记(深入)
”;
golang使用单线程eventloop处理IO事件,多线程协程调度运行用户代码swoole使用多线程eventloop处理IO事件,多进程执行用户代码
3、关于协程
go语言参考手册 中文CHM版Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。本文给大家带来Go参考手册,需要的可以来下载! Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 Go 语言特色 简洁、快速、安全 并行、有趣、开源 内存管理、v数组安全、编译下载golang语言层面支持多线程,使用多线程调度协程,可以实现堆栈文件符共享,但是容易造成数据干扰在使用时需要加锁机制等swoole语言层不支持多线程,使用单线程实现协程调度,每个线程数据是单独的不存在数据干扰。
4、关于运行模式
golang是多线程运行,有超全局变量,有数据干扰问题,可以数据共享swoole是多进程运行,没有超全局变量,只有进程级别的变量,没有数据干扰问题,要自己使用 table等实现数据共享
推荐学习:
swoole教程
