Improve your coding skills from beginner to expert with the largest online Java e-learning platform

Practical Concurrency with Akka

Build robust thread-safe concurrent applications with the Actor Framework
  • 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 - contains 7 hours of video - equivalent to 2 days of live training.


Having problems? check the errata for this course.



2m 56s

Why do we need Akka?

An introduction to our first multi-threading example

11m 2s

Basic concurrent programming in core Java

9m 54s

Why concurrent programming in Java is difficult

11m 52s

The actor model

The concepts of the actor design pattern

3m 4s

What is an actor?

2m 19s

Why does this model work?

5m 1s

Creating our first actor

Setting up an Akka project

10m 38s

Creating our first actor - constructors

9m 10s

Creating our first actor - defining behaviors

3m 25s

Instantiating actors and sending messages

6m 53s

Going further with actors

Expanding the receiveBuilder

5m 36s

Creating child actors

6m 51s

Actor paths

2m 54s

Starting the big prime example

5m 21s

Exercise 1 - creating actors

1m 21s

Exercise 1 - walktrhrough

4m 40s

Going further with messages

Creating a custom message type

6m 30s

Applying the custom message type to a behavior

4m 56s

Using interfaces to support multiple message types

13m 8s

Understanding message delivery guarantees

5m 53s

Case Study 1 - Simulation example

Introducing the case study

10m 48s

Architecting the solution

8m 22s

Implementing the case study

18m 40s

Scheduling and timers

16m 20s

Going further with behaviors

Behaviors can change over time

12m 1s

Exercise 2 - Changing behaviors

2m 44s

Exercise 2 - walkthrough

7m 30s

Actor lifecycles

Actors stopping themselves

3m 46s

Stopping child actors

17m 40s

Actor lifecycle methods

5m 30s


Logging messages from actors

2m 13s

Configuring log level output

2m 27s

Case Study 2 - Blockchain mining example

A simple introduction to blockchains

8m 49s

Introducing the case study

13m 41s

Unit Testing

Creating a message handler that needs testing

8m 34s

Unit testing with log messages

15m 24s

Unit testing with response messages

10m 50s

Akka interraction patterns

The tell and forget and the request-response pattern

2m 52s

The ask pattern

16m 50s

Getting data out of akka

11m 30s

Actor Supervision

Introduction to multi-threaded blockchain mining

7m 20s

Preparing our project to be ready for supervision

13m 53s

Watching actors (supervision)

8m 39s

Dealing with actors that crash

6m 54s

Shutting down all the child actors

6m 1s

Production standard techniques

Exercise 3 - Ensuring immutable state

8m 39s

Actors sending messages to themselves

5m 2s

Stashing messages

10m 8s

Using routers for simultaneous actor operations

11m 39s

Next steps

Other features of Akka that might be of interest

4m 33s

Let the Course Come to You

About Us Pricing Frequently Asked Questions Contact Privacy T&Cs Affiliates and Resellers
Facebook Twitter YouTube LinkedIn