Каковы случаи использования для буферизованных каналов? Если я хочу несколько параллельных действий, я мог бы просто использовать стандартное, синхронное уравнение канала
package main
import "fmt"
import "time"
func longLastingProcess(c chan string) {
time.Sleep(2000 * time.Millisecond)
c <- "tadaa"
}
func main() {
c := make(chan string)
go longLastingProcess(c)
go longLastingProcess(c)
go longLastingProcess(c)
fmt.Println(<- c)
}
Каковы были бы практические случаи увеличения размера буфера?