Rumah > pembangunan bahagian belakang > Golang > Penukaran konteks Golang

Penukaran konteks Golang

WBOY
Lepaskan: 2024-02-06 09:10:08
ke hadapan
849 orang telah melayarinya

Golang 上下文切换

Kandungan soalan

Saya ada soalan yang sangat asas: Bolehkah konteks penjadual sistem pengendalian bertukar antara benang peringkat pengguna yang dipetakan ke peringkat kernel?

Andaikan penjadual menjadualkan goroutine A pada benang kernel. Sekarang goroutine A membuat panggilan sysblock, siapakah yang menukar konteks dahulu: OS atau penjadual pergi?


Jawapan betul


Go penjadual menguruskan goroutines, yang digunakan semula pada urutan peringkat sistem pengendalian. Penjadual Go dengan cekap boleh melaksanakan suis konteks antara Goroutines, seperti apabila Goroutine membuat panggilan sistem menyekat, tanpa melibatkan penjadual OS. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa disebabkan oleh faktor seperti pemotongan masa, penjadual sistem pengendalian mungkin secara bebas mengganggu dan melaksanakan suis konteks. Oleh itu, masa yang tepat bagi suis konteks dan penglibatan penjadual sistem pengendalian mungkin tidak dapat ditentukan dengan tepat daripada perspektif program Go.

Bacaan lanjut:

proc.go dalam kod sumber golang

Go Scheduler: Melaksanakan bahasa serentak yang ringan

Atas ialah kandungan terperinci Penukaran konteks Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan