Long gone are the days when programs were required to do only one thing at a time. Being able to perform several tasks concurrently is at the core of the vast majority of modern business applications. This is where asynchronous programming comes in.
Asynchronous programming and, more generally, concurrency is about doing more with your hardware resources than you previously could. It means fetching data from the network or a database connection without having to wait for the result or, perhaps, reading an Excel spreadsheet into memory while the user can still operate the graphical interface. In general, it improves a system's responsiveness.
In this chapter, we will look at how different platforms handle this style of programming. More specifically, we will cover the following topics:
- An introduction to the background of core.async and its API ...