Back to 2015-proposals
Title: Asynchronous Operations
Proposer: Dietmar Kuhl
Type: Tutorial
Duration: 90 mins
Description:
Doing many things concurrently is often necessary when dealing with
high throughput systems. Using one thread fear each work item
generally doesn't work too well as threads require substantial
resources. On systems where work items frequently need to wait for
completion of other operations, e.g., for input to bcome available
scheduling operations asynchronously provides a scalable approach.
This presentation demonstrates uses of components proposed to be
included into C++ standard (ASIO, corroutines) to provide concurrent
processing without [much] use of threads. Although some programming
approaches need to be adjusted when using an asynchronous formulation
the code can stay reasonably simple to follow.
For a future version of C++ different approaches to deal with concurrency are
discussed. This presentation shows the different approaches under discussion
which are useful for asynchronous processing, primarily implementations of
coroutines and executors. The presentation shows how these facilities can be
used in the context of the ASIO implementation for addressing networking. The
different approaches are not, yet, part of the C++ standard but whatever
concrete approaches will be used they are bound to be fairly similar to those
under currently under discussion.