Book Image

Concurrency with Modern C++

By : Rainer Grimm
Book Image

Concurrency with Modern C++

By: Rainer Grimm

Overview of this book

C++11 is the first C++ standard that deals with concurrency. The story goes on with C++17 and will continue with C++20/23. Concurrency with Modern C++ is a practical guide that gets you to grips with concurrent programming in Modern C++. Starting with the C++ memory model and using many ready-to-run code examples, the book covers everything you need to improve your C++ multithreading skills. You'll gain insight into different design patterns. You'll also uncover the general consideration you have to keep in mind while designing a concurrent data structure. The final chapter in the book talks extensively about the common pitfalls of concurrent programming and ways to overcome these hurdles. By the end of the book, you'll have the skills to build your own concurrent programs and enhance your knowledge base.
Table of Contents (19 chapters)
Free Chapter
1
Reader Testimonials
19
Index

The Interplay of Time Point, Time Duration, and Clock

Time point
The time point is given by its starting point - the so-called epoch - and the time that has elapsed since the epoch (expressed as a time duration).”
Time duration
The time duration is the difference between two time points. It is measured in the number of time ticks.
Clock
The clock consists of a starting point and a time tick. This information enables you to calculate the current time.

You can compare time points. When you add a time duration to a time point, you get a new time point. The time tick is the accuracy of the clock in which you measure the time duration. The birth of Jesus is in my culture the starting time point and a year is a typical time tick.

I illustrate the three concepts using the lifetime of Dennis Ritchie. The creator of C who died in 2011. For the sake of simplicity, I’m only interested in the years.

Here is the lifetime.

The lifetime of Dennis Ritchie
The lifetime of Dennis Ritchie...