C++C++11C++14C++17C++20Learn C++

How To Use Propagating Exceptions In Modern C++?

Modern C++ has many features to aid multi-thread programming that allow applications to be faster and more responsive. The C++11 standard offers the possibility of moving an exception from one thread to another. This type of movement is called propagating exceptions, exception propagation; also known as rethrow exception in multi-threading. To do that, some modifications have been made to the…
Read more
C++C++11C++14C++17C++20Learn C++Syntax

Learn Strong Compare and Exchange In Modern C++

Since the C++11 standard, the Concurrency Support Library includes built-in support for threads (std::thread) with atomic operations (std::atomic). C++11 provides both weak and strong compare-and-exchange operations in multi-threading applications. Since C++11, strong compare and exchange are used in modern C++ standards such as C++14, C++17, C++20, and in other new standards. In this post, we…
Read more
C++C++11C++14C++17C++20Learn C++

Important To Learn std::memory_order In C++ Atomic Operations

Using multi-threading development skills on the CPU, GPU, and memory operations is important in programming, but it can give rise to problems in synchronization of multi-thread operations and reaching data for reading and writing. The concurrency support library in modern C++ is designed to solve problems in multi-thread operations. Since the C++11 standard, this library includes built-in…
Read more
C++C++11C++14C++17C++20IteratorsLearn C++Templates

What Is Atomic (std::atomic) In Modern C++?

In modern C++, the concurrency support library is designed to solve problems in multi-thread operations. This library includes built-in support forthreads (std::thread), atomic operations (std::atomic), mutual exclusion (std::mutex), condition variables (std::condition_variable),and many other features of a modern C++ compiler. In this post, we explain what is std::atomic and how we…
Read more