[Перевод] Планировщик Go

Эта статья посвящена языку программирования Go 1.24 , работающему на Linux на архитектуре ARM . Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали. В этой статье подробно рассматриваются следующие вопросы: Компиляция и среда выполнения Go Примитивный планировщик Улучшение планировщика Модель GMP Начальная загрузка программы Создание горутины Цикл планирования Поиск готовой к выполнения горутины Вытеснение горутин Обработка системных вызовов Сетевой и файловый ввод-вывод Работа netpoll Сборщик мусора Общие функции API среды выполнения Go

https://habr.com/ru/companies/timeweb/articles/989782/

#go #golang #scheduler #scheduling #schedule_loop #планировщик #планирование #цикл_планирования #timeweb_статьи_перевод #goroutine

Планировщик Go

Эта статья посвящена языку программирования Go 1.24 , работающему на Linux на архитектуре ARM . Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур...

Хабр
Finding and Fixing a 50,000 Goroutine Leak That Nearly Killed Production

Memory usage: 47GB. Response time: 32 seconds. Goroutines: 50,847. The story of debugging and fixing a massive goroutine leak in production.

За кулисами асинхронности: корутины, горутины и правда между ними

Асинхронность — слово, от которого у разработчиков дергается глаз и теплеет сердце. Корутины, горутины, event loop, трэдпулы — за этими терминами скрывается целая философия, меняющая взгляд на то, как писать высоконагруженные системы. Привет, Хабр! Меня зовут Дмитрий Буров и я Golang-разработчик, а также лидер Go-сообщества в Lamoda Tech. В IT свитчнулся из военного дирижера. В коммерческой разработке — более 10 лет, начинал как фуллстек-разработчик на стеке JS, PHP, CSS, а последние шесть пишу только на Go. В этой статье по мотивам моего доклада для GolangConf расскажу про асинхронность и её роль в современных высоконагруженных системах. Разберём исторический аспект, концепцию и реализацию корутин в разных языках, эволюцию асинхронных подходов, сравним корутины и горутины, выясним, зачем Go добавил в рантайм пакет coro и чем это может обернуться.

https://habr.com/ru/companies/oleg-bunin/articles/958566/

#go #golang #coroutine #goroutine #asynchronous #программирование #разработка #golangconf

За кулисами асинхронности: корутины, горутины и правда между ними

Асинхронность — слово, от которого у разработчиков дергается глаз и теплеет сердце. Корутины, горутины, event loop, трэдпулы — за этими терминами скрывается целая философия, меняющая взгляд на то, как...

Хабр

Потоки, горутины, синхронизация и мьютексы в Go

Go (Golang) создан для эффективной параллельной и конкурентной работы. Его killer feature — легковесные потоки выполнения, называемые горутины (goroutines), и мощные средства синхронизации. Приглашаю разобраться подробно.

https://habr.com/ru/articles/933464/

#go #golang #goroutine #mutex

Потоки, горутины, синхронизация и мьютексы в Go

Потому что 42... Go (Golang) создан для эффективной параллельной и конкурентной работы. Его killer feature — легковесные потоки выполнения, называемые горутины (goroutines), и мощные средства...

Хабр

Автоматизация контента: как я сделал умного Tg-бота для публикации видео из VK (очередь, дедупликация, NutsDB, yt-dlp)

Здравствуйте, коллеги! Хочу поделиться опытом проектирования и реализации production-ready Telegram-бота, который автоматически собирает и публикует свежий видеоконтент из паблика ВКонтакте — и делает это без дублей, с гарантией доставки и мемными подписями на базе OpenAI . В статье я покажу архитектуру, приведу примеры кода и расскажу о фишках, таких как очередь ссылок на видео (NutsDB), проверка на уникальность (deduplication), скачивание через yt-dlp и интеграция с OpenAI для генерации описаний.

https://habr.com/ru/articles/918186/

#Telegram_Bot #vk_api #go_golang #ytdlp #автоматизация #NutsDB #OpenAI_API #Генерация_мемов #Goroutine #Docker

Автоматизация контента: как я сделал умного Tg-бота для публикации видео из VK (очередь, дедупликация, NutsDB, yt-dlp)

Маскот проекта, стала уже традицией Здравствуйте, коллеги! Хочу поделиться опытом проектирования и реализации production-ready Telegram-бота, который автоматически собирает и публикует свежий...

Хабр

Секреты дедлоков

Как-то раз я допустил в своем коде дедлок и пока выкатывал пул реквест с его фиксом думал “ах как бы было хорошо, если дедлоки определялись на этапе компиляции”. Я решил немного разобраться в этом вопросе и вот что выяснил… Узнать больше

https://habr.com/ru/companies/ozonbank/articles/908978/

#go #goroutine #goroutines #panic #deadlock #deadlocks #timer #дедлок #горутина #горутины

Секреты дедлоков

Как-то раз я допустил в своем коде дедлок и пока выкатывал пул реквест с его фиксом думал “ах как бы было хорошо, если дедлоки определялись на этапе компиляции”. Я решил немного разобраться в этом...

Хабр

Разбираем конкурентность в Go: книги, блоги, выступления

Особенность Go — удобный механизм конкурентности. Создавать конкурентные задачи в парадигме языка можно буквально «бесплатно» и предельно просто: достаточно написать ключевое слово go перед вызовом функции — и она начнет выполняться в отдельном потоке. Я Владислав Белогрудов, эксперт по разработке ПО в YADRO. В свое время изучал различные источники и лучшие практики в поиске эффективных способов организации параллельных процессов в Go. Делюсь ими с вами. Пополнить библиотеку

https://habr.com/ru/companies/yadro/articles/892632/

#golang #go #goroutine #concurrency_patterns #functional_programming #channel

Разбираем конкурентность в Go: книги, блоги, выступления

Особенность Go — удобный механизм конкурентности. Создавать конкурентные задачи в парадигме языка можно буквально «бесплатно» и предельно просто: достаточно написать ключевое слово go перед вызовом...

Хабр

Как рождаются, живут и умирают горутины

Вы когда-нибудь, глядя на горутину, думали, что у неё под капотом? Я вот решил посмотреть. И сегодня расскажу о том, как рантайм Go создаёт и управляет горутинами, о статусах, которые у них есть, и некоторых хитростях, к которым прибегают создатели языка.

https://habr.com/ru/companies/ozonbank/articles/877242/

#go #runtime #garbage_collector #goroutine #internal #golang #source_code

Как рождаются, живут и умирают горутины

Жизненный цикл горутины Всем привет! Меня зовут Дима, я лид команды государственных интеграций в Ozon Банке и очень люблю ковыряться в сурс-коде Go. Это всегда очень интересно: никогда не знаешь, что...

Хабр

The WTF moment when you realise that #PHP with Fiber provides a kind of "goroutine". It is based on an event loop and can be used like a #goroutine thanks to the work of Frode Børli and his project phasync... including channels... but still within a single thread, too bad 🤷

I would still prefer #golang 💙 But hey! Nice work PHP

So I've been learning some basics of #golang since my team has started building most our services with that language. Got to the section on #go concurrency and was ready to strap in and learn all about thread pools, etc. Come to find out simply putting the word `go` in front of a function will create a #goroutine that will then run concurrently. What!?! Mind blown. 💥