Menyemak Saluran Tertutup Tanpa Membacanya
Dalam situasi di mana anda perlu menentukan sama ada saluran ditutup tanpa membacanya, terdapat buat masa ini tiada cara langsung untuk berbuat demikian di Go. Contoh kod yang disediakan oleh @Jimt berfungsi sebagai ilustrasi praktikal pekerja dan mod pengawal. Walau bagaimanapun, ia menghadapi masalah apabila cuba mengalih keluar saluran pekerja daripada bahagian pekerja selepas pekerja itu keluar.
Memahami Isu
Menutup saluran pekerja terus dari dalam worker() akan menyebabkan panik apabila pengawal cuba menulis kepadanya, kerana menulis ke saluran tertutup tidak dibenarkan. Sebaliknya, menggunakan mutex untuk menghalang akses serentak akan mengakibatkan kebuntuan kerana pekerja tidak membaca dari saluran dan penulisan akan disekat.
Potensi Penyelesaian
Kesimpulan
Ketiadaan mekanisme untuk memeriksa terus sama ada saluran ditutup tanpa membaca daripada ia dianggap sebagai had dalam senario tertentu. Walaupun penyelesaian wujud, ia mungkin bukan penyelesaian yang optimum. Pelaksanaan fungsi untuk menyemak saluran tertutup boleh menjadi tambahan berharga kepada versi masa depan bahasa pengaturcaraan Go.
Atas ialah kandungan terperinci Bagaimana untuk Semak Sama ada Saluran Ditutup dalam Pergi Tanpa Membaca Daripadanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!