Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengganggu goroutine yang disekat dalam (*TCPListener) Terima?
Apabila membangunkan pelayan yang bertindak balas kepada klien TCP, pembangun mungkin menghadapi situasi di mana mereka perlu menutup dengan bersih pelayan dan mengganggu goroutine yang sedang disekat dalam (*TCPListener) fungsi Terima. Fungsi ini bertanggungjawab untuk menunggu sambungan pelanggan seterusnya dan mengembalikan Sambungan generik.
Walau bagaimanapun, dokumentasi untuk Accept menyatakan bahawa ia menunggu untuk panggilan seterusnya, yang mungkin menyebabkan kekeliruan tentang cara mengganggu goroutine yang menyekat . Dokumentasi juga tidak mempunyai maklumat pengendalian ralat yang komprehensif.
Untuk menangani isu ini, hanya gunakan kaedah Close() pada net.Listener object yang diperoleh daripada net.Listen(...) call. Tindakan ini menutup pendengar, mengganggu goroutine menunggu dalam Terima. Adalah penting untuk segera kembali dari goroutine pelaksana untuk mengelakkan sebarang keadaan perlumbaan yang berpotensi.
Atas ialah kandungan terperinci Bagaimana untuk mengganggu goroutine yang disekat dalam (*TCPListener) Terima?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!