Go语言
文章平均质量分 96
「已注销」
这个作者很懒,什么都没留下…
展开
-
最快的 Go 网络框架 gnet 来啦!
gnet 是什么?gnet 是一个基于事件驱动的高性能且轻量级的网络框架。它直接使用 epoll 和 kqueue 系统调用而非标准 Golang 网络包:net 来构建网络应用,它的工作原理类似两个开源的网络库:netty 和 libuv。gnet 设计开发的初衷不是为了取代 Go 的标准网络库:net,而是为了创造出一个类似于 Redis、Haproxy 能高效处理网络包的 Go 语言网...原创 2020-04-07 10:36:35 · 2511 阅读 · 1 评论 -
Go netpoll I/O 多路复用构建原生网络模型之源码深度解析
导言Go 基于 I/O multiplexing 和 goroutine 构建了一个简洁而高性能的原生网络模型(基于 Go 的I/O 多路复用 netpoll),提供了 goroutine-per-connection 这样简单的网络编程模式。在这种模式下,开发者使用的是同步的模式去编写异步的逻辑,极大地降低了开发者编写网络应用时的心智负担,且借助于 Go runtime scheduler 对...原创 2019-11-09 22:07:36 · 666 阅读 · 1 评论 -
【开源推荐】gnet: 一个轻量级且高性能的 Go 网络库
Github 主页https://github.com/panjf2000/gnet欢迎大家围观~~,目前还在持续更新,感兴趣的话可以 star 一下暗中观察哦。简介gnet 是一个基于事件驱动的高性能和轻量级网络框架。它直接使用 epoll 和 kqueue 系统调用而非标准 Golang 网络包:net 来构建网络应用,它的工作原理类似两个开源的网络库:net...原创 2019-10-12 12:46:02 · 1993 阅读 · 0 评论 -
Goroutine并发调度模型深度解析之手撸一个协程池
并发(并行),一直以来都是一个编程语言里的核心主题之一,也是被开发者关注最多的话题;Go语言作为一个出道以来就自带 『高并发』光环的富二代编程语言,它的并发(并行)编程肯定是值得开发者去探究的,而Go语言中的并发(并行)编程是经由goroutine实现的,goroutine是golang最重要的特性之一,具有使用成本低、消耗资源低、能效高等特点,官方宣称原生goroutine并发成千上万不成...原创 2018-07-24 21:45:26 · 878 阅读 · 0 评论 -
深入golang之---goroutine并发控制与通信
原文首发于我的个人博客:深入golang之—goroutine并发控制与通信 开发go程序的时候,时常需要使用goroutine并发处理任务,有时候这些goroutine是相互独立的,而有的时候,多个goroutine之间常常是需要同步与通信的。另一种情况,主goroutine需要控制它所属的子goroutine,总结起来,实现多个goroutine间的同步与通信大致有: - 全局共...原创 2018-07-27 10:11:48 · 4461 阅读 · 1 评论