What are the uses cases for buffered channels ? If i want multiple parallel actions i could just use the default, synchronous channel eq.

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)
}

What would be the practical cases for increasing the buffer size ?

go
Edit
Report