Apabila Go Scheduler Mencipta M dan P Baharu dalam Model GMP
Dalam model GMP (Goroutine, Machine, Processor) Go, penjadual menguruskan penciptaan M (Mesin) dan P (Pemproses) berdasarkan keadaan tertentu.
M Creation
M dicipta sebagai tindak balas kepada peristiwa tertentu, seperti:
P Creation
P dicipta pada permulaan program berdasarkan pembolehubah persekitaran GOMAXPROCS, yang menentukan bilangan maksimum P tersedia. Nilai lalai ialah bilangan CPU logik pada sistem.
Analisis Contoh
Dalam kod contoh anda, anda mempunyai dua kelompok goroutine menjalankan operasi pangkalan data. Setiap goroutine melakukan operasi menyekat I/O.
Oleh itu, dalam kes anda, penjadual akan mencipta lebih daripada 8 M untuk kumpulan kedua goroutin kerana operasi menyekat. P akan dihadkan kepada 1 berdasarkan nilai GOMAXPROCS, tetapi M akan dibuat secara dinamik mengikut keperluan.
Sumber Tambahan
Untuk pemahaman lanjut, rujuk perkara berikut sumber:
Atas ialah kandungan terperinci Bagaimanakah Penjadual Go Mencipta M dan P Baharu Apabila Goroutines Melakukan Operasi Penyekatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!