状态机的第一个状态正在等待一个事件,如果事件在某些天没有发生,状态机将切换到第二个状态。如果事件发生在该时间段内,状态机将切换到第三个状态。我有两个选择:1,使用计时器。将计时器设置为特定日期。当时间到时,检查事件是否发生。如果发生,切换到第三种状态。如果没有,请切换到第二个状态。在此期间可能会创建数千个计时器。2,使用循环与例程。启动一个例程来运行一个循环。每半小时,goroutine 会检查事件是否发生。如果事件发生,切换到第三种状态。否则,继续循环直到特定天数到期,然后切换到第二个状态。我的问题是time.Timer vs goroutine,哪个更适合这种情况?