This website works better with JavaScript
Головна сторінка
Огляд
Довідка
Реєстрація
Увійти
YWJL
/
GoLearn
Слідкувати
1
Зірка
0
Відгалуження
0
Файли
Проблеми
0
Запити на злиття
0
Wiki
Дерево:
c320ff84b6
Гілки
Теги
master
GoLearn
/
Go语言核心36讲
/
10
/
read.md
read.md
1.5 KB
Історія
Запис
通道的基本操作
0.资料
https://gfw.go101.org/article/channel.html
https://www.cnblogs.com/liang1101/p/7285955.html
https://www.cnblogs.com/sparkdev/p/10930168.html
1. 特性
对于同一个通道,发送操作之间是互斥的,接收操作之间也是互斥的。(入和出的互斥性)
发送操作和接收操作中对元素值的处理都是不可分割的。(入和出的原子性)
发送操作在完全完成之前会被阻塞。接收操作也是如此。
说明
通道类型值,本身是并发安全的
并发执行,是多个代码块分别在不同的 goroutine 之中,并有机会在同一个时间段内被执行。(并发不是同时执行)
通道分缓冲通道和非缓冲通道
2. panic
向已经关闭的channel写。
关闭已经关闭的channel。
3.阻塞
2. 协程(gorountine)
进程、线程(内核级线程)、协程(用户级线程)三个概念
进程、线程由内核调度,有CPU时间片的概念,有多种调度算法
协程(用户级线程)对内核透明,即系统不知道有协程的存在,是完全由用户自己的程序进行调度控制的。
https://learnku.com/articles/41405
Go 协程(goroutine)通过信道(channel)进行通信
。信道可以防止多个协程访问共享内存时发生资源争抢的问题。