我无法使用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 {
}
}
答案 0 :(得分:2)
忙等待紧密循环
for {
}
将不允许其他goroutine执行。它不会屈服。如果需要等待,请使用一种同步原语,例如:
ch:=make(chan struct{})
<- ch