TaskRoutines #Backgroundtasks #Coroutine #Tasks #Coroutines #AssetStore
TaskRoutines #Backgroundtasks #Coroutine #Tasks #Coroutines #AssetStore
@scy semi #coroutine are the general concept
https://en.wikipedia.org/wiki/Coroutine
which could be seen from a categorical point as #coalgebra
https://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)
Корутины C++20
Думаю, многие согласятся, что реализация корутин в C++20 с первого взгляда выглядит страшновато, а документация скорее более запутывает, чем вносит ясность. Многие воспринимают работу приостанавливаемых функций как некую магию со своими странными co_abracadabra()'ми и прочими promise_type'ами . В этой статье я хочу разоблачить якобы стоящую за корутинами магию, сдёрнуть покровы и показать, что спрятано под столом у фокусника.
https://habr.com/ru/articles/984536/
#coroutine #coroutines_internals #c++ #c++20 #c++23
За кулисами асинхронности: корутины, горутины и правда между ними
Асинхронность — слово, от которого у разработчиков дергается глаз и теплеет сердце. Корутины, горутины, 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
В Asio за корутинами
Когда я начал работать с Asio и изучал документацию библиотеки, прочитал мнение, что доку писали «для роботов». Описание каждого концепта, функции или особенности приводится лишь однажды, без перекрестных ссылок и других удобных для разработчика деталей. Документация составлена так, что понять ее может разве что машина, «просканировав» текст целиком. Я подумал, что было бы здорово написать статью, которая служила бы введением в библиотеку. Статью, которая помогла бы начать пользоваться Asio, даже если раньше вы с ней не работали. Что получилось, читайте под катом.
https://habr.com/ru/companies/yadro/articles/939174/
#c++20 #coroutine #asio
In modern C++ development, coroutines have brought revolutionary changes to asynchronous programming. However, when using boost::asio or standalone asio, we often encounter scenarios where we need to convert traditional std::future<T> to asio::awaitable<T>. This article will detail an efficient, thread-safe conversion method.
C++ coroutine is not a library that is ready to go (e.g. std::vector). It is not even a trait (think of Rust’s Future trait) that library writers or users can implement (or the compiler generates for you in the case of Rust). C++ coroutine is a specification that defines a set of customization points that library writers implement in order to get a functional coroutine.
【Kotlin Coroutines Flow】take や first は CancellationException が発生している
https://qiita.com/Xylocopa/items/56fd193eeeb53593e81b?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items