go goroutine 简单实现生产者和消费者

原文:http://blog.csdn.net/deus_ex_machina/article/details/57074583


package main

 
import (
    "fmt"
    "time"
)
 
func Product(ch chan<- int) {
    for i := 0; i < 100; i++ {
        fmt.Println("Product:", i)
        ch <- i
    }
}
 
func Consumer(ch <-chan int) {
    for i := 0; i < 100; i++ {
        a := <-ch
        fmt.Println("Consmuer:", a)
    }
}
 
func main() {
    ch := make(chan int, 1)
    go Product(ch)
    go Consumer(ch)
    time.Sleep(50)
}

运行:
go run product_consumer.go
 
结果:
 
Product: 0

Product: 1

Product: 2

Consmuer: 0

Consmuer: 1

Consmuer: 2

Product: 3

Product: 4

Product: 5

Consmuer: 3

Consmuer: 4

Consmuer: 5

Product: 6

Product: 7

Product: 8

Consmuer: 6

Consmuer: 7

Consmuer: 8

Product: 9

Product: 10

Product: 11

Consmuer: 9

Consmuer: 10

Consmuer: 11

Product: 12

Product: 13

Product: 14

Consmuer: 12

Consmuer: 13

Consmuer: 14

Product: 15

Product: 16

Product: 17

Consmuer: 15

Consmuer: 16

Consmuer: 17

Product: 18

Product: 19

Product: 20

Consmuer: 18

Consmuer: 19

Consmuer: 20

Product: 21

Product: 22

Product: 23

Consmuer: 21

Consmuer: 22

Consmuer: 23

Product: 24

Product: 25

Product: 26

Consmuer: 24

Consmuer: 25

Consmuer: 26

Product: 27

Product: 28

Product: 29

Consmuer: 27

Consmuer: 28

Consmuer: 29

Product: 30

Product: 31

Product: 32

Consmuer: 30

Consmuer: 31

Consmuer: 32

Product: 33

Product: 34

Product: 35

Consmuer: 33

Consmuer: 34

Consmuer: 35

Product: 36

Product: 37

Product: 38

Consmuer: 36

Consmuer: 37

Consmuer: 38

Product: 39

Product: 40

Product: 41

Consmuer: 39

Consmuer: 40

Consmuer: 41

Product: 42

Product: 43

Product: 44

Consmuer: 42

Consmuer: 43

Consmuer: 44

Product: 45

Product: 46

Product: 47

Consmuer: 45

Consmuer: 46

Consmuer: 47

Product: 48

Product: 49

Product: 50

Consmuer: 48

Consmuer: 49

Consmuer: 50

Product: 51

Product: 52

Product: 53

Consmuer: 51

Consmuer: 52

Consmuer: 53

Product: 54

Product: 55

Product: 56

Consmuer: 54

Consmuer: 55

Consmuer: 56

Product: 57

Product: 58

Product: 59

Consmuer: 57

Consmuer: 58

Consmuer: 59

Product: 60

Product: 61

Product: 62

Consmuer: 60

Consmuer: 61

Consmuer: 62

Product: 63

Product: 64

Product: 65

Consmuer: 63

Consmuer: 64

Consmuer: 65

Product: 66

Product: 67

Product: 68

Consmuer: 66

Consmuer: 67

Consmuer: 68

Product: 69

Product: 70

Product: 71

Consmuer: 69

Consmuer: 70

Consmuer: 71

Product: 72

Product: 73

Product: 74

Consmuer: 72

Consmuer: 73

Consmuer: 74

Product: 75

Product: 76

Product: 77

Consmuer: 75

Consmuer: 76

Consmuer: 77

Product: 78

Product: 79

Product: 80

Consmuer: 78

Consmuer: 79

Consmuer: 80

Product: 81

Product: 82

Product: 83

Consmuer: 81

Consmuer: 82

Consmuer: 83

Product: 84

Product: 85

Product: 86

Consmuer: 84

Consmuer: 85

Consmuer: 86

Product: 87

Product: 88

Product: 89

Consmuer: 87

Consmuer: 88

Consmuer: 89

Product: 90

Product: 91

Product: 92

Consmuer: 90

Consmuer: 91

Consmuer: 92

Product: 93

Product: 94

Product: 95

Consmuer: 93

Consmuer: 94

Consmuer: 95

Product: 96

Product: 97

Product: 98

Consmuer: 96

Consmuer: 97

Consmuer: 98

Product: 99

Consmuer: 99


                
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值