From Jason Turner
Watch on YouTube

Summary

This episode clarifies and expands upon the std::future concepts introduced in Episode 9. Jason explains the launch policies of std::async: the default policy (which allows the system to choose between async or deferred execution), std::launch::async (which forces parallel execution), and std::launch::deferred (which implements lazy evaluation). The episode also demonstrates that a std::future's get() method can only be called once and explores how different standard library implementations (GNU libstdc++ vs LLVM libc++) handle thread creation strategies.

Resources

Tags