Perbincangan ini timbul daripada pelaksanaan elegan pekerja dan model pengawal dalam Go. Walau bagaimanapun, kod tersebut menghadapi isu: mengalih keluar saluran pekerja daripada kepingan pekerja apabila pekerja keluar membawa kepada jalan buntu.
Percubaan untuk membetulkan keadaan ini, seperti menutup saluran dalam worker() atau menggunakan mutex untuk perlindungan, mengakibatkan sama ada panik atau kebuntuan. Penyelesaian yang dicadangkan ialah meminta pengawal melangkau saluran tertutup, tetapi kaedah untuk mengesan penutupan saluran tanpa membaca daripadanya adalah kurang.
Menurut penyelesaian yang disediakan, pengesanan penutupan saluran sememangnya terhad dalam Go. Walaupun adalah mungkin untuk menentukan status saluran yang bertujuan untuk menulis dengan pulih daripada panik yang dibangkitkan, saluran yang bertujuan untuk membaca hanya boleh disemak untuk penutupan dengan melakukan operasi baca, yang boleh membawa kepada penyekatan atau keputusan yang salah.
Pilihan yang tersedia untuk menyemak penutupan saluran termasuk:
Hanya pilihan menyekat mengelakkan membaca dari saluran, tetapi kegunaannya adalah terhad.
Oleh itu, kesimpulannya ialah walaupun ia akan membantu untuk mempunyai fungsi untuk menyemak penutupan saluran tanpa membacanya, batasan semasa Go menjadikannya satu cabaran.
Atas ialah kandungan terperinci Bolehkah Anda Mengesan Penutupan Saluran dalam Pergi Tanpa Membaca Daripadanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!