go语言并发编程

在之前需要了解一些知识
1、关于chan
Golang 关于通道 Chan 详解
这篇文章十分清晰地讲解了chan的相关概念,配合goroutine 举了一些例子让我们明白chan的缓冲区,缓冲机制,阻塞机制,子线程和主线程的关联,很好
2、select语句
Go 语言 select 语句基本用法
大意就是像switch一样拥有选择语句的功能,同时可以随机的在以执行的子选项内挑选对象执行,如果没有要么运行default,没有default就会阻塞,直到某个可以运行。
3、并发编程基础
Go并发编程基础(译)
这一篇文章很具体,也比较深入,先是以线程goroutine举例为引,告诉我们一般来说,通过睡眠的方式来编排线程之间相互等待是不太可能的,从而引出同步机制 - 管道,来一个goroutine等待另一个goroutine。
紧接着就介绍了管道channel,告诉我们如何关闭管道(close),如何用range和for读取发往管道的值
如何用空结构体的管道起到发送信号的作用
再然后深入概念,介绍了死锁和数据竞争,从而引出如何解决这类问题的互斥锁 - sync.Mutex。
最后引入select概念,并举了一个综合的实例,如果按以上顺序看完的确会有很大帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值