1. 首页
  2. 编程语言
  3. PHP
  4. Golang通道的无阻塞读写的方法示例

Golang通道的无阻塞读写的方法示例

上传者: 2020-12-13 10:08:51上传 PDF文件 53.57KB 热度 7次

无论是无缓冲通道,还是有缓冲通道,都存在阻塞的情况,但其实有些情况,我们并不想读数据或者写数据阻塞在那里,有1个唯一的解决办法,那就是使用select结构。这篇文章会介绍,哪些情况会存在阻塞,以及如何使用select解决阻塞。阻塞场景共4个,有缓存和无缓冲各2个。下面示例代码是使用select修改后的无缓冲通道和有缓冲通道的读写,以下函数可以直接通过main函数调用,其中的Ouput的注释是运行结果,从结果能看出,在通道不可读或者不可写的时候,不再阻塞等待,而是直接返回。

下载地址
用户评论