Practical Concurrency with Akka

Try for free!

Subscribe and stream all our courses
from just USD19.00 per month
Start my free trial

Practical Concurrency with Akka

Build robust thread-safe concurrent applications with the Actor Framework

contains 7 hours of video - equivalent to 2 days of live training.

  • This course covers how to use the Actor Model provided by the Akka framework to build robust, thread-safe concurrent applications with Java.
  • Instead of creating threads, worrying about thread-safe variables, using synchronization and locks, learn how the actor model gives us a completely different way to approach concurrent programming.
  • The course is full of practical real-world scenarios - you'll even build a basic blockchain mining application.
Basic experience of concurrent (multi-threaded) programming in Java is helpful.

Contents

Having problems? check the errata

Introduction

Introduction 2m 56s Preview

Why do we need Akka?

An introduction to our first multi-threading example 11m 2s Watch
Basic concurrent programming in core Java 9m 54s Watch
Why concurrent programming in Java is difficult 11m 52s Watch

The actor model

The concepts of the actor design pattern 3m 4s Watch
What is an actor? 2m 19s Watch
Why does this model work? 5m 1s Watch

Creating our first actor

Setting up an Akka project 10m 38s Watch
Creating our first actor - constructors 9m 10s Watch
Creating our first actor - defining behaviors 3m 25s Watch
Instantiating actors and sending messages 6m 53s Watch

Going further with actors

Expanding the receiveBuilder 5m 36s Watch
Creating child actors 6m 51s Watch
Actor paths 2m 54s Watch
Starting the big prime example 5m 21s Watch
Exercise 1 - creating actors 1m 21s Watch
Exercise 1 - walktrhrough 4m 40s Watch

Going further with messages

Creating a custom message type 6m 30s Watch
Applying the custom message type to a behavior 4m 56s Watch
Using interfaces to support multiple message types 13m 8s Watch
Understanding message delivery guarantees 5m 53s Watch

Case Study 1 - Simulation example

Introducing the case study 10m 48s Watch
Architecting the solution 8m 22s Watch
Implementing the case study 18m 40s Watch
Scheduling and timers 16m 20s Watch

Going further with behaviors

Behaviors can change over time 12m 1s Watch
Exercise 2 - Changing behaviors 2m 44s Watch
Exercise 2 - walkthrough 7m 30s Watch

Actor lifecycles

Actors stopping themselves 3m 46s Watch
Stopping child actors 17m 40s Watch
Actor lifecycle methods 5m 30s Watch

Logging

Logging messages from actors 2m 13s Watch
Configuring log level output 2m 27s Watch

Case Study 2 - Blockchain mining example

A simple introduction to blockchains 8m 49s Watch
Introducing the case study 13m 41s Watch

Unit Testing

Creating a message handler that needs testing 8m 34s Watch
Unit testing with log messages 15m 24s Watch
Unit testing with response messages 10m 50s Watch

Akka interraction patterns

The tell and forget and the request-response pattern 2m 52s Watch
The ask pattern 16m 50s Watch
Getting data out of akka 11m 30s Watch

Actor Supervision

Introduction to multi-threaded blockchain mining 7m 20s Watch
Preparing our project to be ready for supervision 13m 53s Watch
Watching actors (supervision) 8m 39s Watch
Dealing with actors that crash 6m 54s Watch
Shutting down all the child actors 6m 1s Watch

Production standard techniques

Exercise 3 - Ensuring immutable state 8m 39s Watch
Actors sending messages to themselves 5m 2s Watch
Stashing messages 10m 8s Watch
Using routers for simultaneous actor operations 11m 39s Watch

Next steps

Other features of Akka that might be of interest 4m 33s Watch
Copyright ©2024 VirtualPairProgrammers.com