A Concise Guide to C++ std::atomic

When it comes to thread safety in multithreaded programming, many people’s first reaction islocks (mutex)🔒. For example, with a counter, some threads are incrementing while others are decrementing. To prevent multiple threads from operating simultaneously, we can use locks for protection. But is using a lock for a counter a bit too costly? Is there … Read more

Detailed Explanation of C++ Multithreading Memory Model (Memory Order)

Detailed Explanation of C++ Multithreading Memory Model (Memory Order)

In multithreaded programming, there are two issues to pay attention to: one is data races, and the other is memory execution order. What is a data race? First, let’s look at what a data race is and what problems it can cause. #include <iostream> #include <thread> int counter = 0; void increment() { for (int … Read more

Practical Skills in Multithreading and Concurrency

Practical Skills in Multithreading and Concurrency

Click the above “Beginner Learning Vision“, select to add “Starred” or “Pinned“ Valuable Content Delivered First Hand Source: Zhihu user yikang Zhihu column https://zhuanlan.zhihu.com/p/134099301 https://zhuanlan.zhihu.com/p/136861784 Part 1. Basic Concepts 1.1 Process Simply understood as an execution of a program; for example, opening an application on the desktop starts a process. A process typically consists of … Read more