Posts

A Coroutines-Based Single Consumer – Single Producer Workflow by Ljubic Damir

I'm happy to present in this guest post by Ljubic Damir a typical use-case for coroutines: a producer…

A Bug in the Priority Scheduler for Coroutines

In my last two posts, I presented priority schedulers for coroutines. The schedulers had a bug. First…

An Advanced Priority Scheduler for Coroutines

Today, I use the straightforward scheduler from the post "A Priority Scheduler for Coroutines" and improve…

A Priority Scheduler for Coroutines

In this post, I will extend the straightforward scheduler from Dian-Lun with priorities. This…

Coroutines: A Scheduler for Tasks by Dian-Lun Lin

The last post "A Concise Introduction to Coroutines by Dian-Lun Lin" provide the theory. Today, Dian-Lun…

A Concise Introduction to Coroutines by Dian-Lun Lin

Today, I will start a miniseries about a scheduler for tasks. The starting point of this miniseries…

Automatically Resuming a Job with Coroutines on a Separate Thread

/
In my last post "Starting Jobs with Coroutines", I applied co_await to start a job. In this post, I improve…

Starting Jobs with Coroutines

/
C++20 has three new keywords to make a coroutine out of a function: co_return, co_yield, and co_await.…

A Generic Data Stream with Coroutines in C++20

/
In my last post in this mini-series on coroutines from the practical perspective, I presented the workflow…

An Infinite Data Stream with Coroutines in C++20

/
In this post, I analyze the new keyword co_yield. Thanks to co_yield, you can create an infinite data…