标签:channel

共 9 篇文章

Go语言的channel无缓冲与有缓冲的使用场景

Go语言的channel无缓冲与有缓冲的使用场景 理解 channel 的工作模式是编写高效、无竞态的 Go 并发程序的关键。无缓冲 channel 和有缓冲 channel 虽然

# Go语言 # channel # 无缓冲channel
2026-06-01 166 0

Go语言select和switch的区别:为什么select只能用于channel

Go语言select和switch的区别:为什么select只能用于channel Go语言中,select 语句和 switch 语句在表面上看起来非常相似:它们都使用了 cas

# Go语言 # select # switch
2026-05-14 155 0

Go语言sync.Cond与channel在条件等待中的选择

Go语言sync.Cond与channel在条件等待中的选择 在Go语言的并发编程中,让一个Goroutine等待特定条件成立是常见需求。Go标准库提供了sync.Cond(条件变

# Go语言 # 并发编程 # sync.Cond
2026-04-30 164 0

Go语言channel的select与default的非阻塞发送实现

在 Go 语言并发编程中,直接向 channel 发送数据通常会阻塞当前 goroutine,直到接收者准备好。这种机制虽然保证了数据同步,但在某些高吞吐或对延迟敏感的场景下,我们

# Go语言 # 并发编程 # Channel
2026-04-29 153 0

Go语言select在nil channel上的永久阻塞行为

Go 语言的 select 语句是处理多通道操作的核心机制,但它在处理 nil channel 时的行为往往出乎新手意料。当 select 中的某个 case 作用于 nil ch

# Go语言 # Go并发 # select
2026-04-28 148 0

Go语言select在多个channel就绪时的伪随机选择

Go语言select在多个channel就绪时的伪随机选择 Go 语言中的 select 语句是处理多个 channel 并发操作的利器。当多个 channel 同时满足读写条件(

# Go语言 # 并发编程 # select
2026-04-22 163 0

Java NIO:ByteBuffer 与 Channel 的使用

Java NIO:ByteBuffer 与 Channel 的使用 ByteBuffer 是 Java NIO 中用于数据交互的核心容器,而 Channel 则是数据传输的通道。两

# JavaNIO # Channel # Buffer
2026-04-12 144 0

Go 选择语句:select 与超时处理

Go 选择语句:select 与超时处理 在 Go 并发编程中,select 语句是协调多个信道操作的核心工具。它能够让程序同时监听多个信道的状态,在任意一个信道就绪时执行对应分支

# Go语言 # select语句 # 并发编程
2026-04-05 162 0

Go 并发编程:goroutine 与 channel

Go 并发编程:goroutine 与 channel Go 语言的并发模型基于两个核心概念:goroutine 和 channel。goroutine 是轻量级线程,由 Go 运

# Go # 并发编程 # goroutine
2026-04-03 164 0