商君

导航

Go Example--通道同步

package main

import (
	"fmt"
	"time"
)

func main() {
	//缓存通道
	done := make(chan bool,1)
	go worker(done)
	//等待读取chan,当chan没数据时会阻塞
	<-done
}

func worker(done chan bool)  {
	fmt.Print("working...")
	time.Sleep(time.Second)
	fmt.Println("done")
	done <- true
}

posted on 2018-10-17 19:58  漫步者01  阅读(85)  评论(0编辑  收藏  举报