Computer Science 268: Introduction to Computer Programming (Java)
Study Guide
Unit 12
Chapter 12: Threads and Multiprocessing
The information in this chapter is considered to be an advanced Java programming topic. Therefore, this section of the textbook is not covered in the course.
Section 12.1 Introduction to Threads
- 12.1.1 Creating and Running Threads
- 12.1.2 Operations on Threads
- 12.1.3 Mutual Exclusion with “synchronized”
- 12.1.4 Volatile Variables
- 12.1.5 Atomic Variables
Section 12.2 Programming with Threads
- 12.2.1 Threads, Timers, and JavaFX
- 12.2.2 Recursion in a Thread
- 12.2.3 Threads for Background Computation
- 12.2.4 Threads for Multiprocessing
Section 12.3 Threads and Parallel Processing
- 12.3.1 Problem Decomposition
- 12.3.2 Thread Pools and Task Queues
- 12.3.3 Producer/Consumer and Blocking Queues
- 12.3.4 The ExecutorService Approach
- 12.3.5 Wait and Notify
Section 12.4 Threads and Networking
- 12.4.1 The Blocking I/O Problem
- 12.4.2 An Asynchronous Network Chat Program
- 12.4.3 A Threaded Network Server
- 12.4.4 Using a Thread Pool
- 12.4.5 Distributed Computing
Section 12.5 Network Programming Example
- 12.5.1 The Netgame Framework
- 12.5.2 A Simple Chat Room
- 12.5.3 A Networked TicTacToe Game
- 12.5.4 A Networked Poker Game