你在学习Golang相关的知识吗?本文《调度程序无法执行计划中的任务》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!
问题内容我无法通过 go to work 获取 prprpus 调度程序库。我试图重新创建 javascript 的 setinterval
的功能。 for 循环不应该阻止计划的作业,对吗?
package main
import (
"fmt"
"github.com/prprprus/scheduler"
)
func keepAlive2() {
fmt.Println("Keep alive 2")
}
func main() {
s, schedulerErr := scheduler.NewScheduler(1000)
if schedulerErr != nil {
panic(schedulerErr)
}
s.Every().Second(1).Do(keepAlive2)
for {
}
}
解决方案
忙等待紧密循环,例如
for {
}
将不允许其他协程执行。它不会屈服。如果需要等待,请使用同步原语之一,例如:
ch:=make(chan struct{})
<- ch
以上就是《调度程序无法执行计划中的任务》的详细内容,更多关于的资料请关注编程网公众号!