1 个回答
无缓冲的 Channel:
同步通信:发送和接收操作必须同时准备好才能完成。发送者会阻塞直到接收者准备好接收数据。
用途:常用于 goroutine 之间的同步,例如在 WaitGroup 中协调多个 goroutine 的执行。
有缓冲的 Channel:异步通信:发送操作只有在缓冲区为满时才会阻塞;接收操作只有在缓冲区为空时才会阻塞。
用途:适用于生产者-消费者模型,例如任务队列。
发布于:2天前 IP属地:四川省
我来回答
您需要 登录 后回答此问题!