The Art of Multiprocessor Programming - 개요
제목의 서적을 읽고 멀티스레드 프로그래밍을 하는 데 고려하거나 구현해야할 요소들을 알아보자.
우선 책은 아래와 같이 Principles과 Practices 두 파트로 나뉘어져 있다.
1. Introduction
[Principles]
2. Mutual Exclusion
3. Concurrent Objects
4. Foundations of shared memory
5. The relative power of primitive synchronization operations
6. Universality of consensus
[Practices]
7. Spin locks and contention
8. Monitors and blocking synchronization
9. Linked lists: The role of locking
10. Queues, memory management, and the ABA problem
11. Stacks and elimination
12. Counting, sorting, and distributed coordination
13. Concurrent hashing and natural parallelism
14. Skiplists and balanced search
15. Priority queues
16. Scheduling and work distribution
17. Data parallelism
18. Barriers
19. Optimism and manual memory management
20. Transactional programming