状态机的第一个状态正在等待一个事件,如果事件在某些天没有发生,状态机将切换到第二个状态。如果事件发生在该时间段内,状态机将切换到第三个状态。我有两个选择:1,使用计时器。将计时器设置为特定日期。当时间到时,检查事件是否发生。如果发生,切换到第三种状态。如果没有,请切换到第二个状态。在此期间可能会创建数千个计时器。2,使用循环与例程。启动一个例程来运行一个循环。每半小时,goroutine 会检查事件是否发生。如果事件发生,切换到第三种状态。否则,继续循环直到特定天数到期,然后切换到第二个状态。我的问题是time.Timer vs goroutine,哪个更适合这种情况?
1 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
由于您提到了几天的时间段,在给定的两个时间段中,您可能应该选择第二个选项。通过这种方式,您可以将状态存储到文件(或数据库)并在必要时重新启动该过程。第一个选项使存储状态更加困难,但仍然可能。
- 1 回答
- 0 关注
- 206 浏览
添加回答
举报
0/150
提交
取消
