Что такое work stealing в Go scheduler?

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

Когда локальная очередь P пуста, scheduler пытается украсть горутины у другого P. Он берёт половину очереди жертвы. Если красть не у кого — проверяет глобальную очередь, потом network poller. Это обеспечивает балансировку нагрузки между потоками без центрального диспетчера. Кража происходит с конца очереди (LIFO).

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

Как реализовать audit log на Go?