Chapter 15. Managing scheduling and concurrency

 

This chapter covers

  • Scheduling tasks and controlling polling frequency
  • Processing messages asynchronously
  • Managing concurrent tasks
  • Scheduling and concurrency APIs under the hood

In the previous chapters, you learned about the core and specialized components and how to put them together to build a successful application. But there’s more to building an application than finding all the parts you need and putting them together into a structure. This chapter takes a turn to discuss application building from a different perspective: dynamic configuration.

Dynamic configuration requires shifting focus from the logic of the application to the expected behavior at runtime. Configuring runtime behavior involves controlling the schedule of various timed events in the application, such as the frequency with which external message sources are polled, and also configuring various parts of the application to run concurrently, making optimal use of system resources, and increasing the rate at which messages are being processed. You learn to manage scheduling and concurrency in this chapter.

15.1. Controlling timed events

15.2. Managing concurrency

15.3. Under the hood

15.4. Summary