cpprussia C++ Russia 2019 SPb (31.10.2019)

Comfort class apartments for actors and handlers

img

In this talk, an approach based on thread specialization will be explored. In many cases it allows you to get rid of shared data and write multithreaded programs, asynchronous by nature, in such a way that they look sequential in the code.

For the last 7 years or so, after C++11 was published, parallel/asynchronous processing became a main trend on almost all of the C++ conferences and meetups. Async, future, ASIO are being included into the standard library, and people talk about their solutions at conferences. This is not surprising, as multicore architectures are flourishing, and founding fathers and developers are actively looking for ways to unlock full potential of multicore CPUs. But one needs to be careful and actually consider is the task-based approach really that good or are there any alternatives for solutions based on thread pools?..

In this talk, an alternative approach based on thread specialization will be explored. Maxim calls this approach an "apartment model": in many cases it allows you to get rid of shared data and write multithreaded programs, asynchronous by nature, in such a way that they look sequential in the code.