Rumah >pembangunan bahagian belakang >Golang >Bila dan Mengapa Penjadual Go Memperuntukkan Pemproses M dan P Baharu?

Bila dan Mengapa Penjadual Go Memperuntukkan Pemproses M dan P Baharu?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 17:36:03980semak imbas

When and Why Does the Go Scheduler Allocate New M and P Processors?

Bila dan Mengapa Penjadual Go Memperuntukkan Pemproses M dan P Baharu

Memahami model penjadualan masa jalan Go adalah penting untuk mengoptimumkan prestasi aplikasi. Satu aspek utama model ini ialah peruntukan M (mesin) dan P (pemproses).

Bilakah M dan P Dicipta?

M pemproses dicipta apabila :

  • Groutine baharu dimulakan ( melainkan terdapat M terbiar ganti)
  • Sekat M sedia ada pada panggilan sistem A (mencipta urutan sistem pengendalian baharu yang dikenali sebagai M )

Pemproses P dicipta apabila semua runqueues tempatan penuh satu goroutine sedang menjalankan goroutine jirannya yang sedia untuk dijalankan diletakkan dalam baris gilir global dan ia mengandungi satu p.

Tugas Menyekat dan P Guna Semula

Dalam kod ujian yang disediakan, goroutine melakukan operasi pangkalan data menyekat. Tugasan menyekat mengalih keluar pemproses M daripada pemproses P.

Dalam kes ini, mencipta pemproses M baharu adalah perlu untuk mengendalikan goroutin yang disekat. 8 (bilangan teras maya) awal pemproses M tidak akan mencukupi untuk kumpulan kedua. Pemproses M baharu akan diperuntukkan mengikut keperluan.

Sumber Tambahan

  • https://www.programmersought.com/article/79557885527/
  • https://blog.golang.org/go-goroutine-os-thread-and-cpu-management

Atas ialah kandungan terperinci Bila dan Mengapa Penjadual Go Memperuntukkan Pemproses M dan P Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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