Thread safety in the Arm® C++ library
The functions contained within the libc++ library are fully-supported for use in single-threaded environments, and [ALPHA]-supported for use in multithreaded environments.
The C++ Thread Porting API enables support for the C++11 concurrency constructs in the Arm® Compiler 6 C++ library. This implies that the C++ library as a whole is exposed to multithreaded environments, and users must consider the overall thread safety aspects of the library.
The thread safety provided by the C++ Thread Porting API applies to the use of shared global data within Arm Compiler 6 C++ libraries. The default C++ libraries of Arm Compiler 6 are not thread safe. They are only intended to be used in single-threaded environments. The [ALPHA]-supported multithreaded C++ libraries are guaranteed to be thread safe if the C++ Thread Porting API is implemented and the necessary steps are taken to ensure that the Arm Compiler 6 C libraries are also thread safe. For more information, see Multithreaded support in Arm® C libraries.