Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture introduces the concept of futures as a structured approach to concurrency, contrasting with the complexities of shared mutable variables and threads. It covers the use of futures for running tasks in parallel, handling input-output operations without blocking, and managing errors during computation. The lecture also explores the relationship between futures and the data-flow model of computation, where tasks are described as nodes in an acyclic graph. Practical examples and implementations using Scala are provided, showcasing how futures can simplify concurrency tasks and improve performance.