Technical requirements – Runtimes, Wakers, and the Reactor-Executor Pattern

In the previous chapter, we created our own pausable tasks (coroutines) by writing them as state machines. We created a common API for these tasks by requiring them to implement […]

Read More

b-async-await—an example of a coroutine/wait transformation – Coroutines and async/await

Let’s start by expanding our example slightly. Now that we have a program that writes out our state machines, it’s easier for us to create some examples and cover some […]

Read More

Who on earth wants to write code like this to accomplish a simple task? – Coroutines and async/await

The answer is no one! Yes, it’s a bit bombastic, but I dare guess that very few programmers prefer writing a 55-line state machine when you compare it to the […]

Read More