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




Description:

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 aristeia.com.