Effective modern C++ live! Scott Meyers on void futures

"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...

Full description

Bibliographic Details
Main Author: Meyers, Scott
Format: eBook
Language:English
Published: [Place of publication not identified] O'Reilly Media 2014
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
Description
Summary:"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++."--Resource description page
Item Description:Title from title screen (Safari, viewed July 8, 2015). - Date of publication taken from slide 2 (Safari, viewed July 8, 2015)
Physical Description:1 streaming video file (49 min., 42 sec.) digital, sound, color