C++11 Concurrency Series

Part 1: Fork/Join

This is the first in a series of tutorials about concurrent programming in C++11 (the new, freshly ratified, C++ Standard). In this introductory installment you'll learn how to write your first multithreaded application, learn about fork/join parallelism, and witness non-deterministic executions. You will also get familiar with C++11 lambdas.

 

Approximate running length: 30 minutes.

View tutorial by parts: 1 2 3 4 5 6 7 8 9 (More coming soon).

View The Language of Concurrency presentation for a quick primer on some of the concepts and terminology used in this tutorial series.

Download source code.

Have questions for Bartosz about content in this tutorial series? Ask them in our Forums.

About Bartosz Milewski

Bartosz Milewski has a Ph.D. in Theoretical Physics and he published many papers on quantum supersymmetric models, strings, and supergravity in top peer-reviewed journals.

He has 20 years of experience in C++ programming and wrote a book, C++ In Action. During his eight years at Microsoft he led the development of the content index — the precursor of search engines— to this day part of the Windows OS.

He often attends graduate seminars in Computer Science at the University of Washington and blogs about the latest developments. He is a Technical Evangelist at Corensic, a company that makes Jinx, a software quality tool for parallel applications.
 Bartosz Milewski

 
);