高效 I/O 并发处理:双缓冲和 Exchanger

鸟窝 at 
高效I/O并发处理:双缓冲和Exchanger的配图
双缓冲(double buffering)是高效处理 I/O 操作的一种并发技术,它使用两个 buffer,一个 goroutine 使用其中一个 buffer 进行写,而另一个 goroutine 使用另一个 buffer 进行读,然后进行交换。这样两个 goroutine 可能并发的执行,减少它们之间的等待和阻塞。本文还提供了一个类似 Java 的 java.util.concurrent.Exchanger 的 Go 并发原语,它可以用来在两个 goroutine 之间交换数据,快速实现双缓冲的模式。 这个并发原语可以在 github.com/smallnest/exp/sync/Exc……