Go:空 Select 语句的目的
问题:
在 net/http 内/httptest包,我遇到了以下情况代码:
s.Config.Serve(s.Listener) if *serve != "" { fmt.Fprintln(os.Stderr, "httptest: serving on", s.URL) select {} }
此代码中空的 select 语句的作用是什么?
答案:
空的 select 语句,例如select {},充当阻塞机制,类似于空的 for 语句(for {})。它无限期地暂停程序执行,为其他进程的发生留出时间。
在大多数受支持的 Go 架构中,空的 select 语句会释放处理器资源,这与空的 for 语句不同,后者会导致持续的 CPU 使用。因此,当需要延长等待时间时,通常首选 select {}。
以上是Go:空的'select”语句的目的是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!