1、time.Sleep的作用是程序阻塞,延迟操作。
func func1() {
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
time.Sleep(time.Second * 2)
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
}
2、time.NewTimer定义定时器,程序阻塞,延迟操作。
time.NewTimer的原理是:
(1)提供一个channel;
(2)在定时时间到达之前,没有数据写入timer.C会一直阻塞;
(3)当定时时间到了,向channel写入值,阻塞解除;
(4)之后也可以从中读取数据。
func func2() {
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
timer := time.NewTimer(time.Second * 3)
t := <-timer.C
fmt.Println(t)
}
3、time.After的原理与time.NewTimer相似,作用也是程序阻塞,延迟操作。
func func3() {
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
<-time.After(time.Second * 2)
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
}
本文暂时没有评论,来添加一个吧(●'◡'●)