摘要: package main import ( "fmt" "sync" "time" ) /*等待组API介绍*/ func main071() { var wg sync.WaitGroup fmt.Println(wg) //向等待组添加一个协程(注册) wg.Add(1) //从等待组减掉一个协 阅读全文
posted @ 2020-04-24 23:31 Ethan_Cheng 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 秒表 package main import ( "fmt" "time" ) /*每秒大喊我要去浪,共9次,然后退出计时*/ func main() { var tickerStopped = false ticker := time.NewTicker(time.Second) go func( 阅读全文
posted @ 2020-04-24 20:36 Ethan_Cheng 阅读(981) 评论(0) 推荐(0) 编辑
摘要: package main import ( "fmt" "time" ) /* ·循环从一写两读三条管道中随机选择一条能走的路 ·等所有路都走不通了就退出循环 */ func main041() { chA := make(chan int, 5) chB := make(chan int, 4) 阅读全文
posted @ 2020-04-24 19:37 Ethan_Cheng 阅读(474) 评论(0) 推荐(0) 编辑
摘要: package main import ( "fmt" "math" "strconv" "time" ) /* ·100条协程并发求1-10000平方根 ·最大并发数控制在5 ·管道实现 */ func GetSqrt(name string, n int, chSem chan string) 阅读全文
posted @ 2020-04-24 19:36 Ethan_Cheng 阅读(268) 评论(0) 推荐(0) 编辑
摘要: package main import ( "fmt" "strconv" "time" ) /* 改进生产者消费者模型 ·生产者每秒生产一件商品,并通知物流公司取货 ·物流公司将商品运输到商店 ·消费者阻塞等待从商店消费 ·消费10轮就主协程结束 ·尝试在整分钟时通知生产者罢工,生产者罢工时主协程 阅读全文
posted @ 2020-04-24 19:34 Ethan_Cheng 阅读(481) 评论(0) 推荐(0) 编辑