| 123456789101112131415161718192021222324252627282930 |
- // prod_cons.go
- /* producer-consumer problem in Go */
- package main
- import "fmt"
- var done = make(chan bool)
- var msgs = make(chan int)
- func produce() {
- for i := 0; i < 10; i++ {
- msgs <- i
- }
- done <- true
- }
- func consume() {
- for {
- msg := <-msgs
- fmt.Print(msg, " ")
- }
- }
- func main() {
- go produce()
- go consume()
- <-done
- }
- // Output: 0 1 2 3 4 5 6 7 8 9
|