Go Programming Cookbook
Chapter 1: Setting up and Exploring Go
Chapter 2: Advanced Go Features and Techniques
Chapter 3: File Handling and Data Processing in Go
Chapter 4: Building and Managing Go APIs
Chapter 5: Implementing RPC and gRPC Services in Go
Chapter 6: Web Services and Automation Using Go
Chapter 7: Building Microservices Architecture Using Go
Chapter 8: Strengthening Database Interactions
Chapter 9: Enhancing Performance and Best Practices in Go
Chapter 10: Networking and Protocol Handling
C++11 is the first C++ standard that deals with concurrency. The story goes on with C++17, C++20, and will continue with C++23. I'll give you a detailed insight into the current and the upcoming concurrency in C++. This insight includes the theory and a lot of practice.
C++11 and C++14 have the basic building blocks for creating concurrent or parallel programs.
With C++17, we got the parallel algorithms of the Standard Template Library (STL). That means most of the algorithms of the STL can be executed sequentially, in parallel, or vectorized.
The concurrency story in C++ goes on. With C++20, we got coroutines, atomic smart pointers, semaphores, latches, and barriers.
C++23 supports the first concrete coroutine: std::generator.
With future C++ standards, we can hope for executors, extended futures, transactional memory, and more.