GoLang并发控制(上)

GoLang并发控制(上) 在go程序中,最被人所熟知的便是并发特性,一方面有goroutine这类二级线程,对这种不处于用户态的go程的支持,另一方面便是对并发编程的简便化,可以快捷稳定的写出支持并发的程序。 先回顾进程or线程之间的通信方式 inte-process communication(IPC) 其中Go支持的IPC方法有管道、信号和socket。篇(shui)幅(ping)有限,一张图引入回忆。 ipc图解.jpg 并发和并行 简单来讲 并发就是可同时发起执行的程序,并行就是可以在...阅读全文

2018.10.16 23:55 不喜欢夜雨天
阅读:1246 评论:0

GoLang并发控制(下)

context的字面意思是上下文,是一个比较抽象的词,字面上理解就是上下层的传递,上会把内容传递给下,在go中程序单位一般为goroutine,这里的上下文便是在goroutine之间进行传递。 根据现实例子来讲,最常看到context的便是web端。一个网络请求request请求服务端,每一个request都会开启一个goroutine,这个goroutine在逻辑处理中可能会去开启其他的goroutine,例如去开启一个MongoDB的连接,一个request的goroutine开启了很多个...阅读全文

2018.11.14 01:01* 不喜欢夜雨天
阅读:645 评论:0

【代码篇】从零开始一步步搭建自己的golang框架(七)

这个框架的目标是作为一个通用的框架,我希望它大而全,在日后可以直接作为我其他项目的基础模板,所以我还想继续给他添加一些功能,就当写一些demo进去吧。这篇文章,我将会添加一个队列的功能。 nsq 队列有很多种,我选择nsq。使用nsq需要知道以下几个概念: nsqd:负责维护队列的组件,接受消息排队和投递; nsqlookupd:管理nsq集群的组件; nsqadmin:nsq的web管理组件; topic:消息的集合。产生消息,需要指定该消息属于哪个topic的; channel:队列消息的副...阅读全文

2020-02-16 11:12:47 wx5e1abbbb0a5e5
阅读:653 评论:0