Skip to content

linchengzhi/timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

golang 定时器

golang timer

var start = time.Now().Unix()

func main() {
	tw := timer.New(A, 1000) //参数:回调的函数 func(...interface{}) 间隔时间(可不填,默认为1000毫秒)
	tw.Add(1000, "test")     //添加一个定时任务 参数:延时时间 回调函数的参数
	tw.Add(2000, 123456789)
	tw.AddRepeat(3, 1000, "repeat test")         //重复定时任务3次
	tw.AddHasFunc(2000, A2, "a2 test")           //指定回调函数A2
	tw.AddRepeatHasFunc(2, 2000, A2, "a2 test")  //重复2次, 指定回调函数A2
	key := tw.AddRepeat(-1, 1000, "always repeat test") //当循环次数为-1时,无限循环

	time.Sleep(5 * time.Second)
	tw.Cancel(key)	//移除定时任务
	//time.Sleep(2*time.Second)
	//tw.Exit() //停止定时器
	select {}
}

func A(data ...interface{}) {
	fmt.Printf("A data=%v \t time=%v \n", data, time.Now().Unix()-start)
}

func A2(data ...interface{}) {
	fmt.Printf("A2 data=%v \t time=%v \n", data, time.Now().Unix()-start)
}

About

golang timer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages