以下是使用 GoFrame 的 gtimer 模块的基本示例。在这个示例中,我们将创建一个定时器,添加两个定时任务,并演示如何暂停和恢复任务。
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