package main
import (
"fmt"
"time"
"github.com/gogf/gf/os/gtimer"
)
func main() {
// 创建一个定时器
timer := gtimer.New()
// 添加一个定时任务,每隔1秒执行一次
timer.Add(1000*time.Millisecond, func() {
fmt.Println("Task 1 executed every 1 second.")
})
// 添加另一个定时任务,每隔2秒执行一次
task2 := timer.Add(2000*time.Millisecond, func() {
fmt.Println("Task 2 executed every 2 seconds.")
})
// 主协程休眠5秒,等待定时任务执行
time.Sleep(5 * time.Second)
// 暂停任务2
task2.Pause()
fmt.Println("Task 2 paused.")
// 主协程休眠5秒,观察任务2是否执行
time.Sleep(5 * time.Second)
// 恢复任务2
task2.Resume()
fmt.Println("Task 2 resumed.")
// 主协程休眠10秒,等待定时任务执行
time.Sleep(10 * time.Second)
// 关闭定时器,释放资源
timer.Close()
}
在这个示例中,我们创建了一个定时器,并向定时器添加了两个不同的任务,一个每秒执行一次,另一个每两秒执行一次。然后,我们演示了如何暂停和恢复任务,以及最后关闭定时器。在实际应用中,你可以根据需要设置更复杂的定时任务和逻辑。
转载请注明出处:http://www.zyzy.cn/article/detail/7727/GoFrame