оригинал статьи: https://blog.devtrovert.com/p/goroutine-scheduler-revealed-youllВероятно, вы слышали о планировщике Go раньше, но насколько хорошо мы знает о том как он работает? Как он связывает горутины с потоками?Разберем по очереди операции, которые выполняет планировщик. Читать далее
Я почти уверен, что любой, кто изучал когда-либо Go, слышал, что «горутины похожи на легковесные потоки» и что «можно спокойно запускать сотни и тысячи горутин». Некоторые люди узнавали, что «горутина весит около 2 килобайт», скорее всего, из примечаний к релизу Go 1.4, и еще меньше…
«Никогда не сдавайтесь. Никогда не сдавайтесь. Никогда, никогда, никогда, никогда — и ни в чем, в великом или малом, большом или незначительном — из этого правила нет исключения…» Уинстон Черчилль.Изучив данный урок, Вы узнаете как «перемалывать» проблемы, ошибки и…
Переключение горутины с одного потока ОС на другой довольно затратно и может значительно замедлить работу приложения, если это происходит слишком часто. Однако со временем эту проблему решил планировщик Go путем обеспечения привязки горутин к потоку (scheduler affinity) в условиях конкурентной работы (concurrently). А чтобы нам лучше понять всю прелесть этой доработки, давайте вернемся назад в прошлое и посмотрим, как было до. Читать далее