Pull to refresh

Comments 2

Тупейшая статья сгенерированная ChatGPT.

Горутины создаются и управляются рантаймом Go, а не операционной системой, что позволяет минимизировать накладные расходы.

Уточняйте в чём минимизировать. Так можно сказать и про потоки.

  • Размер начального стека обычно 1 МБ (или больше, в зависимости от ОС).

Размер начально стека - размер страницы, а это обычно 4/16 КБ

Сравнение горутин с потоками в других языках в таблице

Почему нет сравнения тогда с async/await C++/Rust ?

Можно запустить сотни тысяч горутин на одном сервере без существенных затрат памяти.

Если мы говорим про Go, то на практике как раз наоборот.

Переключение между горутинами выполняется рантаймом Go и гораздо быстрее, чем переключение системных потоков.

Опять без дополнительного контекста. Так можно сказать что это дополнительный оверхед - у нас всё-равно есть шедулер системных потоков, и теперь к нему добавляется шедулер горутин.

Начальный стек небольшой (2 КБ) и растет по мере необходимости, что экономит память.

Выше уже написал, привет виртуальная память.

Таблица аналогов каналов в разных языках

1) Что в таблице означает "Асинхронность" и "Интеграция с корутинами"?

Ключевые особенности каналов в go

Так а где ключевые особенности? Это стандартные свойства каналов.

Каналы помогают избежать гонок данных.

Каким образом?

  1. Простота дизайна. Конкурентные задачи организуются через ясную модель.

Простота дизайна - акторы, каналы + горутины - это сложность.

Горутины и каналы — мощные инструменты, делающие Go одним из лучших языков для конкурентного программирования. 

Вообще нет.

Sign up to leave a comment.

Articles