UsefulLinks
Computer Science
Programming
By Language
Scala Programming
1. Introduction to Scala
2. Scala Language Fundamentals
3. Object-Oriented Programming in Scala
4. Functional Programming in Scala
5. The Scala Collections Library
6. Advanced Language Features
7. Concurrency and Parallelism
8. Tooling and Ecosystem
9. Advanced Topics
10. Practical Applications
11. Best Practices and Idioms
7.
Concurrency and Parallelism
7.1.
Introduction to Concurrency on the JVM
7.1.1.
Threads and Thread Safety
7.1.2.
Synchronization Basics
7.1.3.
Memory Model Considerations
7.2.
Scala Futures and Promises
7.2.1.
Future for Asynchronous Computations
7.2.1.1.
Creating Futures
7.2.1.2.
Composing Futures
7.2.1.2.1.
map
7.2.1.2.2.
flatMap
7.2.1.2.3.
for Comprehensions
7.2.1.3.
Execution Contexts
7.2.1.3.1.
Global Execution Context
7.2.1.3.2.
Custom Execution Contexts
7.2.1.4.
Error Handling with recover and recoverWith
7.2.1.5.
Combining Multiple Futures
7.2.2.
Promise to Complete a Future
7.2.2.1.
Creating and Completing Promises
7.2.2.2.
Use Cases for Promises
7.2.3.
Blocking and Non-Blocking Operations
7.2.4.
Future Performance Considerations
7.3.
Parallel Collections
7.3.1.
The par Method
7.3.2.
Performance Considerations
7.3.3.
When to Use Parallel Collections
7.3.4.
Configuring Parallelism
7.4.
Introduction to the Akka Toolkit
7.4.1.
The Actor Model
7.4.1.1.
Principles of Actor-Based Concurrency
7.4.1.2.
Message Passing
7.4.2.
Defining Actors
7.4.2.1.
Actor Classes
7.4.2.2.
Actor Lifecycle
7.4.2.3.
Actor State Management
7.4.3.
Sending and Receiving Messages
7.4.3.1.
Message Passing Syntax
7.4.3.2.
Handling Messages
7.4.3.3.
Message Types
7.4.4.
Actor Systems and Hierarchies
7.4.4.1.
Creating Actor Systems
7.4.4.2.
Actor Supervision and Fault Tolerance
7.4.4.3.
Actor References
Previous
6. Advanced Language Features
Go to top
Next
8. Tooling and Ecosystem