Сообщение Re[11]: Можно ли избавиться от async|await? от 15.12.2025 7:29
Изменено 15.12.2025 8:00 mrTwister
Re[11]: Можно ли избавиться от async|await?
Здравствуйте, novitk, Вы писали:
N>Согласен, бывает сплошь и рядом. Но ты так говоришь будто в GoLang это как-то решается. Оно решается?
Да, в Go эта ситуация исключена, так как в Go все функции асинхронные и не могут блокировать потоки ОС. Даже если функция крутит бесконечный цикл, рантайм go ее в любой момент останавливает и переключается на другую Сам рантайм Go по умолчанию создает количество потоков ОС равное количеству ядер процессора, больше ему не надо.
T>>Главная разница в том, что нет двух видов "цветов" функций. Нет никаких синхронных и асинхронных контекстов, которые надо постоянно учитывать.
N>Как же его нет, если ты или return пишешь или в каналы шлешь?
Сама же функция при этом не меняется, ей без разницы как с результатом поступит вызывающая сторона: проигнорирует, положит в канал, или начнет сразу использовать.
N>Согласен, бывает сплошь и рядом. Но ты так говоришь будто в GoLang это как-то решается. Оно решается?
Да, в Go эта ситуация исключена, так как в Go все функции асинхронные и не могут блокировать потоки ОС. Даже если функция крутит бесконечный цикл, рантайм go ее в любой момент останавливает и переключается на другую Сам рантайм Go по умолчанию создает количество потоков ОС равное количеству ядер процессора, больше ему не надо.
T>>Главная разница в том, что нет двух видов "цветов" функций. Нет никаких синхронных и асинхронных контекстов, которые надо постоянно учитывать.
N>Как же его нет, если ты или return пишешь или в каналы шлешь?
Сама же функция при этом не меняется, ей без разницы как с результатом поступит вызывающая сторона: проигнорирует, положит в канал, или начнет сразу использовать.
Re[11]: Можно ли избавиться от async|await?
Здравствуйте, novitk, Вы писали:
N>Согласен, бывает сплошь и рядом. Но ты так говоришь будто в GoLang это как-то решается. Оно решается?
Да, в Go эта ситуация исключена, так как в Go все функции асинхронные и не могут блокировать потоки ОС. Даже если функция крутит бесконечный цикл, рантайм go ее в любой момент может остановить и передать поток OC другой горутине. Сам рантайм Go по умолчанию создает количество потоков ОС равное количеству ядер процессора, больше ему не надо.
T>>Главная разница в том, что нет двух видов "цветов" функций. Нет никаких синхронных и асинхронных контекстов, которые надо постоянно учитывать.
N>Как же его нет, если ты или return пишешь или в каналы шлешь?
Сама же функция при этом не меняется, ей без разницы как с результатом поступит вызывающая сторона: проигнорирует, положит в канал, или начнет сразу использовать.
N>Согласен, бывает сплошь и рядом. Но ты так говоришь будто в GoLang это как-то решается. Оно решается?
Да, в Go эта ситуация исключена, так как в Go все функции асинхронные и не могут блокировать потоки ОС. Даже если функция крутит бесконечный цикл, рантайм go ее в любой момент может остановить и передать поток OC другой горутине. Сам рантайм Go по умолчанию создает количество потоков ОС равное количеству ядер процессора, больше ему не надо.
T>>Главная разница в том, что нет двух видов "цветов" функций. Нет никаких синхронных и асинхронных контекстов, которые надо постоянно учитывать.
N>Как же его нет, если ты или return пишешь или в каналы шлешь?
Сама же функция при этом не меняется, ей без разницы как с результатом поступит вызывающая сторона: проигнорирует, положит в канал, или начнет сразу использовать.