🥂Новый эксклюзивный ролик уже доступен в моих платных каналах
Казалось бы, что сложного в LIFO-слоте? При желании, я вам за 1-минутный шортс расскажу суть. Но вы ведь подписаны на меня не из-за коротких видосов.. 🌚
Давайте лучше погрузимся в этот механизм так глубоко, что даже 20 минут покажутся для вас сжатой версией
(и ни капли воды!)
————
На самом деле, я планировал рассказ про LIFO-слот как малую часть дополнительного ролика про планировщик, минут на 5.
В итоге получилось 20 минут. И я ещё вырезал часть материала.
Как я уже много раз рассказывал — когда решаешь одну проблему в сложной системе, сразу вылезают три новые. Так и здесь, добавили LIFO-слот для горячих горутин? Отлично! А теперь две горутины захватили процессор, устроили "вечный пинг-понг", и никто другой не может пробиться. Решили это? Супер! А что делать с work-stealing — красть из LIFO-слота или нет? А мьютексы? А голодание? А direct hand-off?
А знали ли вы, что две горутины могут делить один квант времени на двоих? Или что у мьютекса есть специальный режим голодания, где он резервирует себя за конкретной горутиной и передаёт управление напрямую через
goYield()?Я честно пытался остановиться, но не смог. Слишком интересно было копать глубже.
При проектировании сложных систем не бывает бесплатных решений — оптимизируешь в одном месте, создаёшь проблемы в другом. Поэтому настоящая работа инженера — искать баланс. И инженеры из Go Team справляются с этим чертовски изящно! ✨
В общем, если хотите понять, насколько глубока эта кроличья нора — welcome 🐰
————
Ролик можно посмотреть:
- В моём закрытом ТГ-канале (через Tribute)
- На моём Boosty
🟢И не забывайте — чем больше людей подписывается на мои платные каналы, тем больше времени я могу уделять творчеству, и тем чаще у меня будут выходить новые ролики (как платные, так и бесплатные).
Спасибо всем за поддержку ❤️
#go_scheduler #lifo_slot