Mengapa Penyata Go Tidak Melaksanakan Secara Selari?
Dalam kod Go anda, anda cuba melaksanakan fungsi jumlah serentak menggunakan goroutine . Walau bagaimanapun, anda menghadapi masalah bahawa hanya satu teras digunakan, walaupun terdapat banyak teras pada sistem anda.
Untuk membetulkan isu ini, anda perlu mengkonfigurasi atur cara untuk membenarkan pemprosesan selari. Ini dicapai dengan menetapkan pembolehubah persekitaran GOMAXPROCS atau menggunakan masa jalan.Fungsi GOMAXPROCS untuk menentukan bilangan urutan OS yang boleh digunakan oleh sokongan masa jalan.
Dalam kes tertentu, meningkatkan nilai GOMAXPROCS sebenarnya boleh menjadikan program anda lebih perlahan. Ini berlaku apabila program anda mengandungi berbilang goroutin yang kerap berkomunikasi melalui saluran. Penalti penukaran konteks yang terlibat dalam penghantaran data antara urutan menjadi ketara, menjejaskan prestasi yang buruk.
Penjadual goroutine Go masih belum mengoptimumkan sepenuhnya penggunaan rangkaian OS. Bagaimanapun, ia dijangka akan bertambah baik pada masa hadapan untuk mengendalikan kes sebegini dengan lebih cekap. Sehingga itu, adalah dinasihatkan untuk melaraskan nilai GOMAXPROCS pada asas setiap aplikasi untuk mencapai prestasi optimum.
Atas ialah kandungan terperinci Mengapa Kod Go Saya Tidak Menggunakan Berbilang Teras untuk Pemprosesan Selari?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!