Scott Meyers

Effective Modern C++ live! Scott Meyers on void Futures

Date: This event took place live on March 31 2015

Presented by: Scott Meyers

Duration: Approximately 60 minutes.

Questions? Please send email to


Watch the webcast recording

What's the best way for one thread to notify another that an event has taken place? The traditional approach is to use a condition variable, but that requires a mutex, and for simple event communication, that seems like overkill: no data requires synchronized access. An alternative is to use a shared flag, but that requires polling on the part of the thread waiting for notification.

As of C++11, an interesting new option is the use of a void future. Like the approach based on condition variables, the task waiting for notification truly blocks—no polling is required. Like the approach based on a shared flag, there's no need for a mutex. The approach even makes it possible for the notifying thread to throw an exception that the waiting-to-be-notified thread can catch. However, a design based on void futures has costs and is constrained by restrictions that developers must keep in mind when choosing among these event-communication strategies.

In this webcast, Scott Meyers covers the pros and cons of void futures as a mechanism for event communication among threads. It's based on information in chapter 7 ("The Concurrency API") of his best-selling new book, Effective Modern C++.

About Scott Meyers

Scott Meyers is one of the world's foremost experts on C++. He's best known for his chart-topping Effective C++ books—Effective Modern C++ (new!), Effective C++, More Effective C++, and Effective STL. He also published the annotated training materials, Overview of the New C++ (C++11/14) and Effective C++ in an Embedded Environment.

Scott founded and is Consulting Editor for the Effective Software Development Series, and he conceived the boutique conferences The C++ Seminar and C++ and Beyond. A programmer since 1972, he holds an M.S. in Computer Science from Stanford University and a Ph.D. from Brown University.

Scott maintains a blog for people interested in his publications and other professional activities and interests. His web site is