Как происходит preemption горутин в Go?

Senior
153 просмотров
AFK Offer AI

С Go 1.14 используется asynchronous preemption. Scheduler шлёт сигнал SIGURG потоку, тот прерывает выполнение горутины в safe point. До 1.14 preemption была только кооперативной — в вызовах функций через проверку stackguard. Без preemption tight loop без вызовов мог заблокировать весь P навсегда.

Следующий вопрос

Что такое corpus в fuzzing?