golang语言并发与并行——goroutine和channel的详细理解(一)

如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人。 Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据。 以下是我入门的学习笔记。 Go语言的goroutines、信道和死锁 goroutine Go语言中有个概念叫做goroutine, 这类似我们熟知的线程,但是更轻。 以下的程序,我们串行地去执行两次loop函数: func loop() { for i := 0; i < 10; i++ { f...阅读全文

2017-03-04 16:24 skh2015java
阅读:35388 评论:12

Golang——WebSocket

拉模式与推送模式 拉模式的缺点 数据更新频率低,则大多数的请求是无效的 在线用户数量多,则服务端的查询负载高。 定时查询拉取,无法满足时效性要求 推送模式 尽在数据更新才推送,需要维护大量的在线长连接,数据更新后立即推送。 WebSocket推送 浏览器支持的socket编程,轻松维护服务端长连接,基于TCP可靠传输之上的协议,无需开发者关心通讯细节。提供了高度抽象的编程接口,业务开发成本低。 websocket协议 来源于慕课网 协议升级后,继续复用HTTP的底层socket完成后续操作 me...阅读全文

2019.04.07 21:50 羊羽share
阅读:1365 评论:0