Избегание преждевременного прекращения программы в Go Dlog Running Process
В Go можно столкнуться с ситуацией, когда давняя программа покидается с его логикой, выполненной в одновременных грабителях, завершается, когда основная функция выходит. Чтобы предотвратить это нежелательное поведение, разработчики ищут передовую практику для удержания основной функции от завершения, тем самым обеспечивая продолжительную работу программы.
Одним из обычно используемых методов является создание канала и задержка выхода основной функции путем получения на этом канале. Тем не менее, этот подход представляет проблемы, если все goroutines становятся неактивными.
вместо этого рекомендуемый подход заключается в реализации бессрочного механизма блокировки в основной функции. Используя оператор SELECT {}, основная функция блокирует навсегда, предотвращая завершение программы.
рассмотрим следующую демонстрацию:
Package Main импорт ( "FMT" "время" ) func main () { идти вечно () выберите {} // block навсегда } func forever () { для { fmt.printf ("%v \ n", time.now ()) Time.sleep (время. } }.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3