Apps need to be responsive, this means taking time consuming work off off the main thread and doing it in the background. But what’s the best way to go about this? How do you communicate safely back to the message thread when you’re done? How do you inform users of the state of these tasks?
There are a lot of tricky problems to solve when dealing with background tasks. This talk delves in to them, building a task running system from first principles and solving common pitfalls one by one. Once that’s done we’ll look at how to build this system in to a real world app using patterns that are compose-able and reusable.
Using strict types and free functions enables you to write far less code which contains less bloat and is more expressive.
YOU MAY ALSO LIKE:
A Backgrounder on Background Tasks
David Rowland is the director of software development at Tracktion Corporation, working primarily on the digital audio workstation, Waveform and the engine it runs on. Other projects over the years have included audio plugins and iOS audio applications utilising JUCE. David has a passion for modern C++ standards and their use to improve code safety and brevity.