Ben net/http/httptest
aşağıdaki kodu bulundu ve boş select
açıklamada git ne yaptığını merak ediyorum.Boş bir seçim ne yapar?
go s.Config.Serve(s.Listener)
if *serve != "" {
fmt.Fprintln(os.Stderr, "httptest: serving on", s.URL)
select {}
}
olacaktır. Bununla birlikte, ben onu anlamsal olarak garip buluyorum, çünkü 'select' bir durum değil, bir döngü önerir. –
AFAIK için boş bir yer, cpu üzerinde yoğun olacaktır (en azından sonsuz döngüler bu kadar boş döngüleri diğer dillerde çalışmaktadır). OP örneğinde iken, ana goroutinin çıkmasını önlemek için {} seçeneğinin kullanılması muhtemeldir. – justinas
CSP-konuşmasında, boş seçim hiçbir zaman ilerlemeyen bir işlem olan 'STOP' gibidir. Bu, kendi kendine kilitlenmeye benziyor ve bunun sık sık kullanılmadığını hayal ediyorum. Ancak, soru bu model için ilginç ve gerçek bir kullanım durumu önermiştir. Boş bir 'for {}' döngü, cpu kaynaklarını tüketmesi nedeniyle farklı bir kendi kendini kurtarır. –