#coroutine

2026-02-01

@scy semi #coroutine are the general concept

en.wikipedia.org/wiki/Coroutine

which could be seen from a categorical point as #coalgebra

en.wikipedia.org/wiki/Coalgebra

(Don't meant as answer for an unasked question - just blew my mind a while ago when I realized the deeper concept and thought it might joyful for you as well)

2026-01-12

Корутины C++20

Думаю, многие согласятся, что реализация корутин в C++20 с первого взгляда выглядит страшновато, а документация скорее более запутывает, чем вносит ясность. Многие воспринимают работу приостанавливаемых функций как некую магию со своими странными co_abracadabra()'ми и прочими promise_type'ами . В этой статье я хочу разоблачить якобы стоящую за корутинами магию, сдёрнуть покровы и показать, что спрятано под столом у фокусника.

habr.com/ru/articles/984536/

#coroutine #coroutines_internals #c++ #c++20 #c++23

2025-11-11

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

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

habr.com/ru/companies/oleg-bun

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

Channel: messages are shared out so that each message is received by exactly one consumer. Shared flow: messages are replicated so that each consumer receives its own copy of every message. #kotlin #coroutine tips 💡 The diagram is from 📚 Kotlin Coroutine Confidence 👉 pragprog.com/titles/...

Diagram comparing channels and shared flows. When a stack containing three items is passed to a channel, three consumers each receive one item from the stack. When the stack of three items is passed to a shared flow, three consumers each receive a copy of the complete three-item stack.

💡 #Kotlin #coroutine tip: a channel itself isn't a resource that needs closing. Its close() and cancel() functions are there to help you shut down the tasks/resources that are using or passing through the channel. Read more in Chapter 12 of Kotlin Coroutine Confidence 👉

Kotlin Coroutine Confidence

2025-08-26

В Asio за корутинами

Когда я начал работать с Asio и изучал документацию библиотеки, прочитал мнение, что доку писали «для роботов». Описание каждого концепта, функции или особенности приводится лишь однажды, без перекрестных ссылок и других удобных для разработчика деталей. Документация составлена так, что понять ее может разве что машина, «просканировав» текст целиком. Я подумал, что было бы здорово написать статью, которая служила бы введением в библиотеку. Статью, которая помогла бы начать пользоваться Asio, даже если раньше вы с ней не работали. Что получилось, читайте под катом.

habr.com/ru/companies/yadro/ar

#c++20 #coroutine #asio

GripNewsGripNews
2025-07-15

🌘 C++ Coroutine 進階:將 std::future 轉換為 asio::awaitable
➤ 提升 C++ 非同步程式設計效率的關鍵技巧
ddhigh.com/en/2025/07/15/cpp-c
本文詳細介紹了一種高效、線程安全的將傳統 `std::future<T>` 轉換為 `asio::awaitable<T>` 的方法,尤其適用於使用 Boost.Asio 或獨立 Asio 的現代 C++ 非同步程式設計。此方法基於 `asio::async_initiate`,利用線程池避免阻塞 I/O 線程,並提供了完善的異常處理機制,確保程式碼的效能與穩定性。
+ 終於找到一種解決 `std::future` 和 `asio` 整合問題的有效方法了,之前的輪詢方式實在太慢了!
+ 這篇文章寫得非常清楚,範例程式碼也很實用,讓我對 C++ Coroutine 的應用有了更深入的理解。
++ Programming

GripNewsGripNews
2025-07-13

🌘 C++ Coroutine 的心智模型
➤ 解構 C++ 協程的內部機制與設計哲學
uvdn7.github.io/cpp-coro/
本文深入探討了 C++ coroutine 的運作原理,指出它並非現成的函式庫,而是一個定義自定義點的規格,讓程式設計師能夠靈活地控制協程的行為。作者詳細解釋了 coroutine 的核心概念,包括 call、return、suspend、resume 和 destroy 等操作,並闡述了 `Task<T>`、`promise_type`、`awaiter` 和 `awaitable` 在 C++ coroutine 中的作用,以及它們如何協同工作以實現非同步運算。文章進一步比較了 C++ coroutine 與 Rust Future 的異同,強調了 C++ coroutine 的彈性。
+ 這篇文章深入淺出地解釋了 C++ coroutine 的複雜概念,對於想要理解其底層原理的開發者來說非常有幫助。
+ 我一直覺得 C++ coroutine 很難上手,這篇文章讓我對它有更清
++

:rss: Qiita - 人気の記事qiita@rss-mstdn.studiofreesia.com
2025-01-26
2025-01-17

Зачем мы написали библиотеку для создания телеграм ботов на С++?

Сейчас телеграм боты крайне популярны, казалось бы, если всё так просто и есть спрос, то наверняка уже сотни библиотек для удобного создания ботов? Вкратце - нет, если вы захотите написать телеграм бота, то вы (были) вынуждены делать это на python. Библиотеки на...

habr.com/ru/articles/874378/

#c++ #c++20 #telegrambot #telegram #coroutine #http2 #json #async

2024-12-20

I need some obscure python help, fellow mastodonians:

I have a nested async function inside a regular function.

I need to test whether to await on it inside a decorator, but neither of `inspect` or `asyncio` helpers work, and .__code__.co_flags do not indicate it being a coroutine/awaitable/...

Right now I've added a flag to my decorator to manually control wrapped function behavior, but it's just a workaround.

Any tips? Thanks.

#python #asyncio #coroutine #async #programming #fedihelp

2024-12-07

Безопасное использование Flows в Jetpack Compose

Рекомендуемый подход подписки Flows - подписка с учетом жизненного цикла. Если вы создаете приложение Android с помощью Jetpack Compose, используйте API collectAsStateWithLifecycle для сбора потоков с учетом жизненного цикла из вашего пользовательского интерфейса. CollectAsStateWithLifecycle позволяет вашему приложению сохранять ресурсы приложения, когда они не нужны, например, когда приложение находится в фоне. Ненужное сохранение ресурсов может повлиять на работоспособность устройства пользователя. К таким ресурсам могут относиться запросы Firebase, обновления местоположения или сети, а также подключения к базе данных. В статье будет рассмотрены различия collectAsStateWithLifecycle и collectAsState.

habr.com/ru/articles/864734/

#compose #flow #coroutine #mvvm

2024-10-24

[Перевод] Решение проблемы race condition в Kotlin корутина

Синхронизация корутин в Android имеет огромное значение для обеспечения безопасности и эффективности многопоточности. Коррутины упрощают управление асинхронными задачами, но без должной синхронизации могут возникнуть проблемы, такие как race condition, что приведет к неправильному поведению приложения.

habr.com/ru/articles/853266/

#coroutine #race_conditions #multithreading #mutex #semaphore

2024-08-27

Kotlin Coroutines. От А до Я

Полный разбор корутинного мира с нуля, который может послужить отличной шпаргалкой на собеседовании ! Разберем разницу между многопоточностью и асинхронностью ; раскроем все основные понятия корутин, параллельно ссылаясь на исходники kotlinx.coroutines; посмотрим их применение на практике и в конце напишем свой собственный CoroutineScope. Let's go

habr.com/ru/articles/838974/

#Kotlin #coroutine #coroutines #корутины #асинхронность #асинхронное_программирование #dispatcher #launch #async #deffered

Kaushik Gopalkaush@hachyderm.io
2024-08-25

I've been collecting my thoughts around #Coroutine #Testing in #Kotlin. Finally, took sometime to jot it down. If you're an #AndroidDev or just kotlin dev, take a read and let me know your thoughts!

It's a multi-part series that I might add/tweak more.

kau.sh/blog/coroutine-testing/

2024-08-17

[Перевод] Key-Value Хранилище на Стероидах

Как абстрагироваться от Key-Value хранилища и забыть про бойлерплейт внутри репозиториев с помощью Kotlin делегатов

habr.com/ru/articles/836690/

#koitlin #android #keyvalue_storage #kotlin_multiplatform #kotlin_coroutines #coroutine #coroutines #storage

2024-07-07

Как я перестал волноваться и полюбил ошибки в корутинах: поймай меня если сможешь

Если опираться на предыдущую статью ( ссылка ), то по отношению к корутине можно сказать что на андроиде она вызовет краш приложения, если не был переопределен Thread.UncaughtExceptionHandler потока. Но во всех ли случаях такое будет? Или можно ли не изменяя корутину и не изменяя Thread.UncaughtExceptionHandler потока помешать данной корутине закрыть приложение с крашем?

habr.com/ru/articles/827188/

#android #coroutine #coroutines #kotlin #exception_handling #kotlin_coroutines #android_development

2024-07-03

Kotlin Coroutines. Часть 2

Прошло так много времени с прошлой статьи, прошу прощения, что заставил вас ждать. Выпускной курс забирал слишком много времени и не было возможности написать столь серьезный материал. Итак, начинаем. Сначала кратко расскажу о материале в этой статье. Для разогрева поговорим о скоупе и о том, для чего он вообще нужен, далее перейдем к контексту, там я попробую объяснить сложное на пальцах, и, наконец, затронем к Continuation.

habr.com/ru/companies/reksoft/

#kotlin #kotlin_coroutines #программирование #coroutines #continuation #threadlocal #dispatcher #runblocking #coroutine #scope

2024-06-01

Разбираемся с coroutine в Kotlin — 3

Прошлая статья была про реализацию функции на языке Си, которая может быть приостановлена и возобновлена. В этой статье придумаем задачу, набросаем примерные решения и в конце сравним корутины с другими способами. Примеры и код будут условными и нужны для понимания идеи и различий. Код будет на языке, похожим на Kotlin...

habr.com/ru/articles/818847/

#kotlin #coroutines #coroutine #корутины #сравнение

2024-05-19

[Перевод] Разбираемся с coroutine в Kotlin — 1

Я начну от идеи и истоков и надеюсь дойти до понимания реализации в Kotlin. Мне удалось найти статью Design of a Separable Transition-diagram Compiler от 1963 года. Люди пишут, что это одно из самых ранних упоминаний идеи корутин. В статье есть часть с названием "Coroutines and Separable Programs", про которую я узнал из поста Why using Kotlin Coroutines? . С этой части, а точнее с ее перевода я и начну. Назад в прошлое

habr.com/ru/articles/815407/

#coroutine #coroutines #conway #separability

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst