Extensions for concurrency
From cppreference.com
                    
                                        
                    < cpp | experimental
                    
                                                            
                    The C++ Extensions for Concurrency, ISO/IEC TS 19571:2016, defines the following new components for the C++ standard library:
Continuations and other extensions for std::future
|   Defined in header  
<experimental/future>  | |
|    (concurrency TS)  | 
   A version of std::future enhanced with continuations and other features   (class template)  | 
|    (concurrency TS)  | 
   A version of std::shared_future enhanced with continuations and other features   (class template)  | 
|    (concurrency TS)  | 
   a modified version of std::promise  that uses std::experimental::future   (class template)  | 
|    (concurrency TS)  | 
   a modified version of std::packaged_task that uses std::experimental::future   (class template)  | 
|    (concurrency TS)  | 
   produces a future that becomes ready when all given futures or shared_futures are ready   (function template)  | 
|    (concurrency TS)  | 
   produces a future that becomes ready when at least one of the given futures or shared_futures is ready   (function template)  | 
|    (concurrency TS)  | 
   produces a future that is ready immediately and holds the given value   (function template)  | 
|    (concurrency TS)  | 
   produces a future that is ready immediately and holds the given exception   (function template)  | 
Latches and barriers
|   Defined in header  
<experimental/latch>  | |
|    (concurrency TS)  | 
   single-use thread barrier   (class)  | 
|   Defined in header  
<experimental/barrier>  | |
|    (concurrency TS)  | 
   reusable thread barrier   (class)  | 
|    (concurrency TS)  | 
   reusable thread barrier with customizable behavior on completion   (class)  | 
Atomic smart pointers
These class templates replace the shared_ptr atomic function overloads
|   Defined in header  
<experimental/atomic>  | |
|    (concurrency TS)  | 
   atomic version of std::shared_ptr   (class template)  | 
|    (concurrency TS)  | 
   atomic version of std::weak_ptr   (class template)  | 
Feature test macros
|   Defined in header  
<experimental/future>  | |
|    __cpp_lib_experimental_future_continuations  | 
   a value of at least 201505 indicates that future::then and other extensions are supported   (macro constant)  | 
|   Defined in header  
<experimental/latch>  | |
|    __cpp_lib_experimental_latch  | 
   a value of at least 201505 indicates that the latch type is supported   (macro constant)  | 
|   Defined in header  
<experimental/barrier>  | |
|    __cpp_lib_experimental_barrier  | 
   a value of at least 201505 indicates that barrier type is supported   (macro constant)  | 
|   Defined in header  
<experimental/atomic>  | |
|    __cpp_lib_experimental_atomic_smart_pointers  | 
   a value of at least 201505 indicates that the atomic smart pointers are supported   (macro constant)  |