What can C++ learn about thread safety from other languages?
David Rowland
Memory safety issues in C++ have been discussed in great length over the past few years but a big corner of safety and security, thread safety seems to get far less coverage. Even in the current WG21 ISO proposals, most of the focus is on bounds, initialisation and lifetime, with little being said about thread safety.
Bugs stemming from thread safety problems tend to be difficult to diagnose and fix. Effects often happen a long time after a data race occurs and in unrelated areas. In order to take advantage of modern hardware C++ is becoming an increasingly concurrent language, we should have good language support or at least robust libraries to enforce thread safety.
Other languages manage this. What can we learn from them and how far can we get applying their thread safety strategies to C++? And in doing so, what can we in turn learn about C++?

David Rowland
Dave Rowland is the CTO at Audio Squadron (owning brands such as Tracktion and Prism Sound), working primarily on the digital audio workstation, Waveform and the engine it runs on. David focuses on the architecture and real-time elements of the software.
In academia, David has taught on several modules at the University of the West of England on programming for audio. David has a passion for modern C++ standards and their use to improve code safety and brevity, has spoken at Meeting C++, C++ on Sea, C++ Online and is a regular speaker at the Audio Developer Conference and related monthly meetup. Past presentations: drowaudio.co.uk