Java Threading Patterns (1997)

Working Java examples of the core concurrency patterns used at Motorola in the late 90s — producer/consumer, thread pools, and monitor locks.

javaconcurrencymultithreading

Java Threading Patterns (1997)

Working Java implementations of the concurrency patterns from the companion article. All code targets JDK 1.1 — no java.util.concurrent.

Contents

  • ProducerConsumer.java — bounded queue with wait/notify
  • ThreadPool.java — fixed-size worker pool
  • DeviceRegistry.java — synchronized shared state
  • DeadlockDemo.java — deliberately broken code illustrating lock ordering

Running

javac -d build src/**/*.java
java -cp build com.motorola.patterns.ProducerConsumerDemo