Preemption point — место в коде, где шедулер может вытеснить горутину и отдать процессорное время другой. До Go 1.14 preemption points были только в прологах функций (проверка morestack) — то есть tight loop без вызова функций мог вечно держать P. С Go 1.14 добавили asynchronous preemption через сигналы ОС, и теперь горутину можно вытеснить практически в любом безопасном месте. Безопасное место — где рантайм может корректно просканировать стек для GC.
Что такое preemption point?
Senior
346 просмотровAFK Offer AI
Как расти от middle к senior?