
Explore how to configure Scala futures and thread pools on the JVM to optimize concurrency, analyze bottlenecks, and boost throughput in real-world applications.
Explore the difference between cpu-intensive computation and io operations, and learn to scale cpu work by building a simple app, analyze its limits, and prepare your workspace.
Explore building a simple cpu-intensive app to see how concurrency and futures affect utilization across cores, measure runtime on the JVM, and optimize beyond a single thread.
Learn how to await asynchronous computation using Scala concurrent, manage futures with Await, and inspect execution contexts and threads with VisualVM for deeper concurrency insights.
Master concurrency by building a real-world app that loads a plaintext password, hashes it with pbkdf2, and updates the database using futures and a blocking io discussion.
Explore Play and Cats Effects, two popular Scala frameworks for web apps, and learn how CPU and IO blocking pools enable concurrency while re-implementing a password service.
Install sbt, scaffold a play framework project with the scala seed to explore Akka concurrency, import into IntelliJ, and run it to serve on localhost port 9000.
If you are a software developer looking to improve your understanding of concurrency in Scala applications, then the Building Concurrency in Scala course is for you. Led by a Senior Scala Developer with over 15 years of experience, this hands-on course will provide you with the knowledge and tools needed to identify and fix concurrency pitfalls.
Throughout the course, you will learn about the importance of thread pools, how to deal with blocking IO, and how frameworks apply concurrency. You will also gain a deeper understanding of different ThreadPools and how to use them correctly, as well as how to monitor and tweak your applications to improve throughput or latency.
This course is designed for beginners who are familiar with Futures and experienced developers who want to gain a deeper understanding of Scala concurrency. It is hands-on, with step-by-step examples that simulate real-world applications. You will build small applications with performance issues, analyze them, and fix them.
Misusing execution contexts and thread pools can lead to poor throughput and overloaded systems. Therefore, understanding how the JVM internally works and having the right tools to analyze the problem is crucial for achieving high-performance applications. Many Scala frameworks, including Play, have dedicated chapters for the correct configuration of concurrency, highlighting the importance of properly configured concurrency.
In summary, if you want to improve your understanding of concurrency in Scala applications and learn how to identify and fix concurrency pitfalls, this hands-on Building Concurrency in Scala course is for you.