Senior
Горутинҳо дар вақти эҷод кардан ба кадом навбат мераванд — ба навбати маҳаллии ё глобалии нақшакашии Go?
sobes.tech AI
Ҷавоб аз AI
وقتی در Go یک goroutine ایجاد میشود، در صف اجرای محلی (local run queue) قرار میگیرد، که متعلق به یک M خاص است (ماشین، نخ سیستم).
رuntime Go از مدل M:N استفاده میکند، که در آن M نخهای سیستم و G goroutineها هستند. هر M دارای صف محلی خود برای اجرای goroutineها است. اگر صف محلی پر شود یا خالی باشد، برنامهریز میتواند goroutineها را بین صف محلی و صف جهانی تعادل دهد.
بنابراین، goroutine جدید ابتدا در صف محلی برنامهریز قرار میگیرد، که امکان استفاده مؤثر از کش پردازنده و کاهش هزینههای تغییر زمینه را فراهم میکند.