UsefulLinks
Computer Science
Programming
Concurrent and Parallel Programming
1. Introduction to Concurrent and Parallel Computing
2. Fundamental Concepts
3. Synchronization Primitives
4. Concurrency Models and Patterns
5. Parallel Programming Concepts
6. Parallel Programming Patterns and Algorithms
7. Advanced Topics
8. Language and Library Support
4.
Concurrency Models and Patterns
4.1.
Thread Pools
4.1.1.
Managing Worker Thread Pools
4.1.2.
Task Queues
4.1.3.
Work Stealing
4.1.4.
Reducing Thread Creation Overhead
4.1.5.
Thread Pool Sizing
4.1.6.
Thread Pool Tuning
4.2.
The Actor Model
4.2.1.
Actors as Computation Primitives
4.2.2.
Actor Lifecycle
4.2.3.
Mailboxes for Asynchronous Message Passing
4.2.4.
State Isolation
4.2.5.
No Shared State Principle
4.2.6.
Actor Supervision
4.2.7.
Fault Tolerance in Actor Systems
4.3.
Communicating Sequential Processes
4.3.1.
Processes as Independent Entities
4.3.2.
Channels for Communication
4.3.3.
Synchronous Channels
4.3.4.
Asynchronous Channels
4.3.5.
Select Statement for Non-Deterministic Choice
4.3.6.
Deadlock Avoidance in CSP
4.4.
Software Transactional Memory
4.4.1.
Database Transaction Analogy
4.4.2.
Atomic Memory Transactions
4.4.3.
Conflict Detection
4.4.4.
Conflict Resolution
4.4.5.
Optimistic Concurrency Control
4.4.6.
STM Limitations
4.4.7.
STM Use Cases
Previous
3. Synchronization Primitives
Go to top
Next
5. Parallel Programming Concepts