go語言之進階篇定時器Timer的使用


1、Timer的使用 

示例: #創建一個定時器,設置時間為2s,2s后,往time通道寫內容(當前時間)

package main

import (
	"fmt"
	"time"
)

//驗證time.NewTimer(),時間到了,只會響應一次
func main() {
	timer := time.NewTimer(1 * time.Second)

	for {
		<-timer.C
		fmt.Println("時間到")
	}
}

func main01() {
	//創建一個定時器,設置時間為2s,2s后,往time通道寫內容(當前時間)
	timer := time.NewTimer(2 * time.Second)
	fmt.Println("當前時間:", time.Now())

	//2s后,往timer.C寫數據,有數據后,就可以讀取
	t := <-timer.C //channel沒有數據前后阻塞
	fmt.Println("t = ", t)
}

執行結果:

時間到
fatal error: all goroutines are asleep - deadlock!   //

goroutine 1 [chan receive]:
main.main()
	D:/GoFiles/src/hello_01/mai1.go:13 +0x54

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM