Towards a Memory Model for C++

800
53.3
Опубликовано 6 сентября 2016, 6:36
Many C and C++ programs use threads interfaces such as pthreads or the win32 threads API, either for program structuring, or to take advantage of multiprocessors. Although at least the pthreads specification gives fairly precise rules for accessing shared variables in this environment, it turns out that these are poorly understood by most programmers.  Even when they are correctly understood, they are not quite sufficient to ensure reliability of multithreaded programs.  These problems are known to generate occasional very puzzling failures in practice. They also make it even harder to teach programmers how to write multithreaded programs, a subject that is certainly already difficult enough. I will review what the rules are and explain when and why they are insufficient.  I will give an overview of the ongoing effort (with Doug Lea, Bill Pugh, Peter Dimov, Clark Nelson, Alexander Terekhov, Andrei Alexandrescu, others, and, at least so far, the strong support of the C++ standards committee) to extend the C++ language specification to address these issues. I will briefly explain why the issues seem to be inherently different from languages such as Java and C#. Although much of this is still a subject of active discussion, I will present highlights of the current, still informal, proposal.  Even the uncontroversial aspects of this proposal will unavoidably have significant impact on code generation and optimization in C++ compilers.
Свежие видео
5 дней – 2 3170:40
The Era of Titan Design Begins
11 дней – 00:00
Advancing AI 2024 @AMD
автотехномузыкадетское