Rumah > pembangunan bahagian belakang > Golang > Mengapa My Go Goroutines Tidak Berjalan Selari?

Mengapa My Go Goroutines Tidak Berjalan Selari?

Susan Sarandon
Lepaskan: 2024-12-15 01:52:09
asal
961 orang telah melayarinya

Why Aren't My Go Goroutines Running in Parallel?

Mengapa Go Runtime Tidak Melaksanakan Pernyataan Serentak Secara Selari?

Soalan:

Saya menjalankan program Go yang tidak menggunakan berbilang teras CPU walaupun mempunyai akses kepadanya. Saya menggunakan goroutine untuk melaksanakan tugas serentak, tetapi mereka melaksanakan secara berurutan. Apakah yang boleh menyebabkan tingkah laku ini?

Jawapan:

Terdapat dua kemungkinan penjelasan untuk isu ini:

  • Persekitaran GOMAXPROCS pembolehubah: Pembolehubah GOMAXPROCS mengawal bilangan CPU yang dibenarkan untuk digunakan oleh masa jalan Go. Secara lalai, pembolehubah ini ditetapkan kepada 1, yang bermaksud bahawa masa jalan akan menggunakan hanya satu CPU. Untuk mendayakan pemprosesan selari, anda perlu menetapkan GOMAXPROCS kepada nilai yang lebih besar daripada 1. Anda boleh melakukan ini sama ada dengan menetapkan pembolehubah persekitaran atau menggunakan fungsi runtime.GOMAXPROCS dalam kod anda.
  • Komunikasi saluran: Jika gorouti anda menghabiskan banyak masa untuk berkomunikasi antara satu sama lain melalui saluran, menggunakan berbilang teras CPU sebenarnya boleh menghalang prestasi. Ini kerana komunikasi saluran melibatkan penukaran konteks, yang boleh menambah overhed. Dalam kes sedemikian, adalah lebih cekap untuk menggunakan satu teras CPU untuk semua goroutine.

Atas ialah kandungan terperinci Mengapa My Go Goroutines Tidak Berjalan Selari?. 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