关于正常退出写法的疑问
来源:4-9 watch监听目录变化
Echo鑫
2018-11-05
// 正常退出
for {
time.Sleep(1 * time.Second)
}
老师为什么正常退出,要这么写,给我感觉好像就是一个无限睡眠状态,但仍然没能释放线程CPU一样。
写回答
1回答
-
小鱼儿老师
2018-11-06
这段代码运行在一个协程中,即便是main()方法也是被Go调度在一个协程中的,所以每当Sleep的时候就会给Go runtime机会调度这个协程,这里Sleep就是暂时挂起了,那么当前线程就让出来可以继续调度其他协程了。
012018-11-07
相似问题