There Is A New Future

Speaker: Felix Petriconi

Audience level: Intermediate

category

Futures were added to C++11 as high level abstractions for asynchronous operations and are planed to be enhanced with the upcoming C++17 TS. Severals think today that std::future is broken in multiple ways.

Therefore Sean Parent and I have developed an alternative, open source, concurrency library that addresses these std::future deficiencies.

In the first half of my talk I want to highlight those problems and illustrate how our library solves those.

A graph of futures and continuations is for single execution only and would have been to be recreated for each additional run. An alternative for such recreations are channels - known from Communicating Sequential Processes (CSP) -, these allow the creation of similar, but persistent execution graphs.

In the second half of my talk I want to give a brief introduction into channels and show how easy it is to create such persistent processing graphs with our library.