package main
import (
"fmt"
"math/rand"
"time"
)
func p() {
for i := 0; i < 2; i++ {
fmt.Println(i)
time.Sleep(time.Second * 1)
}
}
func sell(c chan int) {
for {
num := <-c
fmt.Println("sell", num, "bread")
}
}
func produce(c chan int) {
for {
num := rand.Intn(10)
t := time.Duration(num)
fmt.Println("product", num, "bread")
c <- num
time.Sleep(time.Second * t)
}
}
func main() {
//go關鍵字+函數名即可啓動一個go routine:
go p()
var input string
fmt.Scanln(&input)
fmt.Println("End")
//go routine使用channel來進行routine間的通信
//顯示結果也证明,channel的使用槼則
var c chan int = make(chan int)
go sell(c)
go produce(c)
var input2 string
fmt.Scanln(&input2)
fmt.Println("end")
}閲完此文,您的感想如何?
-
有用
2
-

沒用
1
-

開心
1
-

憤怒
1
-

可憐
1
1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667
相關課文
-
GO語言GORM如何更新字段
-
gorm如何創建記錄與模型定義需要注意什麽
-
gorm一般查詢與高級查詢
-
GORM時間戳跟蹤及CURD(增刪改查)
我要說說
網上賓友點評
課文推薦