Rumah > pembangunan bahagian belakang > Golang > Mengapa Kes Tamat Masa Goroutine Saya Tidak Dilaksanakan Apabila Menggunakan Saluran?

Mengapa Kes Tamat Masa Goroutine Saya Tidak Dilaksanakan Apabila Menggunakan Saluran?

Linda Hamilton
Lepaskan: 2024-12-19 10:03:08
asal
769 orang telah melayarinya

Why Doesn't My Goroutine Timeout Case Execute When Using Channels?

Kes Tamat Masa Tidak Dilaksanakan dalam GoroutineChannels

Dalam coretan kod yang menampilkan goroutine dan saluran, pengguna menghadapi situasi yang membingungkan apabila kes tamat masa masuk penyataan pilih kekal tidak dilaksanakan.

Kod yang disediakan telah ditetapkan dua goroutine, satu menghantar nilai ke saluran setiap 1.5 saat, dan satu lagi mendengar nilai atau mencetuskan tamat masa selepas 2 saat. Walau bagaimanapun, kes tamat masa tidak pernah berlaku.

Mengapa kelakuan ini diperhatikan?

Kuncinya terletak pada penciptaan berulang saluran tamat masa dalam setiap lelaran gelung pilihan. Setiap kali nilai diterima daripada saluran c1, saluran baharu dijana mengikut masa. Selepas(). Saluran baharu ini akan menerima nilai selepas 2 saat lagi, tetapi saluran tamat masa sebelumnya menjadi usang. Oleh itu, kes tamat masa tidak boleh dilaksanakan.

Untuk membetulkan isu ini dan memastikan tamat masa berlaku seperti yang dijangkakan, buat saluran tamat masa hanya sekali sebelum gelung pilihan. Dengan berbuat demikian, saluran kekal aktif sepanjang pelaksanaan program dan kes tamat masa akan dicetuskan selepas 2 saat tidak aktif pada saluran c1.

Atas ialah kandungan terperinci Mengapa Kes Tamat Masa Goroutine Saya Tidak Dilaksanakan Apabila Menggunakan Saluran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan