gpt4 book ai didi

go - go语句之间的 sleep 语句

转载 作者:数据小太阳 更新时间:2023-10-29 03:10:23 24 4
gpt4 key购买 nike

我今天在代码库中看到了以下设置。 Sleep() 函数有什么作用吗?我想这是为了保证 serverA 在 serverB 启动之前运行,但是由于两者的执行可能会推迟到以后,所以这并不能真正保证,对吗?

func main() {

go util.Execute("run", serverA)

time.Sleep(time.Millisecond * 500)

go util.Execute("run", serverB)

for {
log.Println("running")
time.Sleep(time.Second * 30)
}
}

最佳答案

在下一个 goroutine 尝试运行并启动 serverB 之前,它确实会等待 500 毫秒。你是对的,不能真正保证 serverA 会在那个时间内完全启动。

更好的策略是检查来自 serverA 的某种信号,表明它正在完全运行,但不知道服务器是什么类型,这很难给出建议。

关于go - go语句之间的 sleep 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52990862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com