Рубрика «горутины»
Как перестать наступать на грабли в Go: набор рабочих рецептов
2026-03-24 в 13:01, admin, рубрики: cheatsheet, Go, ruvds_статьи, горутина, горутины, лайфхаки, оптимизация, рецепты, шпоргалкаКонкурентность — горутины и каналы
2025-11-04 в 9:16, admin, рубрики: горутины, каналы go, конкурентность, паттерны программирования, планировщик go, синхронизация потоковКонкурентность — это ядро языка Go. Горутины, каналы и связанные примитивы — это инструменты, с которыми Go делает параллелизм простым и выразительным. В этой статье я объясню концепции, покажу ключевые конструкции, разберу типичные ошибки/подводные камни, дам практические паттерны и инструменты для отладки и профилирования. В конце — краткий практический план действий.
Содержание
-
Что такое горутина и как она работает
-
Каналы: буферизированные и небуферизированные
-
selectи управление множественными каналами -
Синхронизация:
sync.Mutex,RWMutex,WaitGroup,CondЧитать полностью »
Как мы нашли баг в компиляторе Go
2025-10-13 в 15:01, admin, рубрики: CloudFlare, ruvds_перевод, segmentation fault, горутины, паника
Каждую секунду в дата-центры Cloudflare в 330 городах отправляется 84 миллиона HTTP-запросов. Из-за этого даже самые редкие из багов возникают достаточно часто. На самом деле, именно наши масштабы позволили нам недавно обнаружить в компиляторе Go на arm64 баг, вызывающий состояние гонки в генерируемом коде.
Оптимизация конкурентных приложений в Go
2025-04-25 в 8:51, admin, рубрики: Go, vk tech, vk workspace, горутины, онтико, оптимизацияЭпиграф в стиле А.П. Чехова по следам оригинального выступления
Иван Семёныч Троицкий, программист сорока лет, застенчивый и робкий, от природы больше склонный к одиночеству, чем к публичным выступлениям, стоял в кулуарах конференции, смущённо улыбаясь и потирая ладонью вспотевший лоб. Доклад его — «Что не так с конкурентностью в Go и как с этим жить?» — принимали тепло, похлопывали по плечу и говорили:
— Знатно выступил, Иван Семёныч, знатно!
Горутины и каналы в Go: эффективная конкурентность
2024-12-24 в 12:15, admin, рубрики: горутина, горутины, каналы, конкурентное программирование, конкурентность, потокиGo язык программирования, который предлагает простой и мощный способ работы с конкурентностью, а именно через горутины и каналы. Эти инструменты делают параллельное выполнение задач удобным, безопасным и читаемым. Давайте разберем их ключевые особенности.
Горутины: сравнение с потоками в других языках
Горутины в Go действительно считаются легковесными в сравнении с системными потоками, которые используются в других языках, таких как Java, Python или C++. Основная причина в том, как они управляют стеком и ресурсами.
Сколько весит одна горутина?
-
Размер стека.Читать полностью »
Умение работать с пакетом context является очень важным: его использование в Golang пронизывает весь код, но не смотря на это очень часто он используется формально. Контекст создается (иногда непосредственно перед вызовом функции), передается из одной функции в другую и дальше по цепочке. Для чего это делается, в чем конечная цель? Для того, чтобы ответить на этот вопрос необходимо сделать шаг назад и опереться на знания о каналах, горутинах и шаблонах работы с ними.
Производительность без цикла событий
2016-05-06 в 9:58, admin, рубрики: Go, Блог компании Mail.Ru Group, горутины, закон Мура, Программирование, производительность, метки: горутины 
Эта статья основана на материалах презентации, которую я представил в этом году на конференции OSCON. Я отредактировал текст, чтобы он был более лаконичным, а заодно учёл ту обратную связь, что я получил после своего выступления.
Про Go часто говорят, что он хорош для серверов: здесь есть статические бинарники (static binaries), развитый concurrency, высокая производительность. В этой статье мы поговорим о двух последних пунктах: о том, как язык и среда выполнения (runtime) ненавязчиво позволяют Go-программистам создавать легко масштабируемые серверы и не беспокоиться из-за управления потоками (thread) или блокирующих операций ввода/вывода.Читать полностью »

