Support for Parallel and Concurrent Programming in C++


Cite item

Full Text

Open Access Open Access
Restricted Access Access granted
Restricted Access Subscription Access

Abstract

C++ was originally designed as a sequential programming language. For development of multithreaded applications, libraries, such as Pthreads, Windows threads, and Boost, are traditionally used. The C++11 standard introduced some basic concepts and means for developing parallel and concurrent programs, but the direct use of these low-level means requires high programming skills and significant efforts. The absence of high-level models of parallelism in C++ is somewhat compensated for by various parallel libraries and directive parallelization tools (such as OpenMP), as well as by language extensions supported by some compilers (Intel CilkPlus). Nevertheless, we still require more advanced means to express parallelism in programs at the level of language standard and language library. In this survey, we consider the means for parallel and concurrent programming that are included into the C++17 standard, as well as some capabilities that are to be expected in the future standards.

About the authors

N. I. V’yukova

Scientific Research Institute for System Analysis

Author for correspondence.
Email: niva@niisi.ras.ru
Russian Federation, Nakhimovskii pr. 36/1, Moscow, 117218

V. A. Galatenko

Scientific Research Institute for System Analysis

Email: niva@niisi.ras.ru
Russian Federation, Nakhimovskii pr. 36/1, Moscow, 117218

S. V. Samborskii

Scientific Research Institute for System Analysis

Email: niva@niisi.ras.ru
Russian Federation, Nakhimovskii pr. 36/1, Moscow, 117218


Copyright (c) 2018 Pleiades Publishing, Ltd.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies