Concurrency is a must nowadays. But the tools that we traditionally use to handle concurrency, threads and locks, are the biggest source of frustration in the C++ community.
The C++ standard committee is working on the senders/receivers proposal, that aims at improving the experience of writing concurrent code. One can find examples of how one can use senders and receivers to solve various local computations. However, it is not clear whether one can apply senders and receivers for the entire application.
This talk aims at showing how one can use senders/receivers to structure the entire concurrent application. It discusses how concurrency can be an important part of the design of the application, and how can senders/receivers be used in both a top-down and bottom-up manner. Using a structural approach to concurrency can eliminate the pains that are traditionally associated with concurrency.