The Near Future: C++20
In June 2019, the C++20 standard is worked out. Here are the features, we will get.
std::jthread
std::jthread
is a enhanced replacement for std::thread
. In addition to std::thread
, a std::jthread
can signal an interrupt and can automatically join the started thread.
Atomic Smart Pointers
The smart pointer std::shared_ptr
and std::weak_ptr
have a conceptional issue in concurrent programs. They share intrinsically mutable state; therefore, they are prone to data races and thus, leading to undefined behaviour. std::shared_ptr
and std::weak_ptr
guarantee that the incrementing or decrementing of the reference counter is an atomic operation and the resource is deleted exactly once, but neither of them can guarantee that the access to its resource is atomic. The new atomic smart pointers std...