performance - 在 go (golang) 中每天触发一次滴答声 - 不是通过轮询
问题描述
我正在使用 go 1.14
我想每天触发一次,但据我从源代码了解,这些Timer
函数是轮询的,而不是等待一些信号。
这是真的吗?如果是这样,每天触发一次事件的最佳方式是什么?投票方式在我看来很过分。
解决方案
的 go 源time.NewTicker(...)
似乎使用了未通过轮询实现的通道,因此您应该能够简单地执行以下操作:
t := time.NewTicker(24 * time.Hour)
for _ = range t.C {
// ...
}
你也可以使用time.Sleep(...)
:
for {
// ...
time.Sleep(24 * time.Hour)
}
推荐阅读
- javascript - 为什么使用窗口。定义一个变量,向我展示一些意想不到的结果
- c - 有16个符号的可能序列数有一些限制
- adaptive-cards - AdaptiveCards 的 AdaptiveSpacing.Padding 应该做什么?
- tfs - ##[错误]Git 提取失败,退出代码:128
- php - PHP 数组,回显特定 ID
- javascript - 事件调用带参数的函数 - 使用错误参数执行的函数
- php - PHP 在客户端设备上保存文件
- javascript - 创建 TypeScript 类时出现“预期标识符”错误和“不可分配给类型号”错误
- stripe-payments - Node.js - Stripe 发卡余额
- node.js - React-Native,导入和使用 ImageBackground 的问题