计划程序将不会运行计划的作业

时间:2019-12-02 03:51:02

标签: go

我无法使用Go获得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 {

    }
}

1 个答案:

答案 0 :(得分:2)

忙等待紧密循环

for {
}

将不允许其他goroutine执行。它不会屈服。如果需要等待,请使用一种同步原语,例如:

ch:=make(chan struct{})
<- ch