In this session we’ll examine many ways that std::future is broken and how an alternative, stlab::future (designed by Sean Parent and myself), addresses these issues and also provides features beyond futures and continuations, for example support for modelling graphs of single threaded tasks.
The second part of this presentation will cover Communicating Sequential Processes (CSP) channels which are also offered by the stlab library. These channels can be used to create graphs of n:m input/output tasks all running in parallel.
A basic understanding of threads, mutex and locks will be assumed, but familiarity with functional programming, while helpful, is not required to understand the content of this session.