21 Multithreading and Concurrency

21.1 The Multicore Future
21.2 Basic Threads
    21.2.1 Problems with Threads
        21.2.1.1 Race Conditions
        21.2.1.2 Deadlock
    21.2.2 Synchronization
    21.2.3 Wait/Notify
    21.2.4 Other Thread Methods
21.3 Concurrency Library
    21.3.1 Executors and Executor Services
    21.3.2 Callable and Futures
    21.3.3 Parallel Data Structures
        21.3.3.1 Shared Barriers
        21.3.3.2 The Exchange
        21.3.3.3 Assembly Line
        21.3.3.4 Ticketed Passengers
        21.3.3.5 Other Threadsafe Types
    21.3.4 Atomic (java.util.concurrent.atomic)
    21.3.5 Locks (java.util.concurrent.locks)
21.4 Parallel Collections
21.5 Introduction to Scala Actors
21.6 Multithreaded Mandelbrot (Project Integration)
21.7 Multithreading in GUIs
21.8 Animated Bouncing Balls (Project Integration)
Comments