Preface | |
Introduction | |
Concurrency | |
Real-time Systems | |
Summary | |
Concurrent Programming in Java | |
Concurrency Models | |
Overview of Java Concurrency Model | |
Threads in Detail | |
Thread Termination | |
Thread-local Data | |
Summary | |
Communication and Synchronization | |
Synchronized Methods and Statements | |
Waiting and Notifying | |
Implementing Condition Variables | |
Synchronization and the Java Memory Model | |
Asynchronous Thread Control | |
Summary | |
Completing the Java Concurrency Model | |
Thread Priorities and Thread Scheduling | |
Delaying Threads | |
Thread Groups | |
Concurrency-related Utilities | |
The Process and Runtime Classes | |
Thread-related Exceptions | |
Strengths and Limitations of the Java Concurrency Model | |
Bloch's Thread Safety Levels | |
Summary | |
Implementing Communication Paradigms in Java | |
Semaphores | |
Signals | |
Events | |
Buffers | |
Blackboard | |
Broadcast | |
Barriers | |
Summary | |
Case Study: Concurrent Maze Search | |
Concurrent Maze Searching | |
Stopping the Search when a Solution is Found | |
Limiting the Concurrency by Reusing Threads | |
Summary | |
The Real-time Specification for Java | |
Background and NIST Requirements | |
Overview of Enhancements | |
Memory Management | |
Time Values and Clocks | |
Schedulable Objects and Scheduling | |
Real-time Threads | |
Asynchronous Event Handling and Timers | |
Asynchronous Transfer of Control | |
Synchronization and Resource Sharing | |
Physical and Raw Memory Access | |
System-wide Properties | |
Synchronization and the RTSJ | |
Summary | |
Memory Management | |
The Basic Model | |
An Example of Scoped Memory Usage | |
Estimating the Size of Scoped Memory Areas | |
Assignment Rules | |
Nested Memory Areas and the Single Parent Rule | |
Sharing Memory Areas between Schedulable Objects | |
Portals | |
Using Scoped Memory | |
Real-time Issues | |
Summary | |
Clocks and Time | |
The Basic Model | |
Examples | |
Summary | |
Scheduling and Schedulable Objects | |
Scheduling and Fixed Priority Scheduling | |
The Basic Model | |
The Priority Scheduler | |
The Parameter Classes | |
Parameters Classes and the Priority Scheduler | |
Alternative Schedulers and EDF Scheduling | |
Summary | |
Asynchronous Events and their Handlers | |
The Basic Model | |
Bound Event Handlers | |
Cost Enforcement and Deadline Monitoring | |
Timers | |
Program Termination and Asynchronous Event Handlers | |
POSIX Signals | |
Examples | |
Asynchronous Events with Parameters | |
Understanding Asynchronous Event Handlers | |
Summary | |
Real-Time Threads | |
The Basic Model | |
The NoHeap Realtime Thread Class | |
The Model of Periodic, Sporadic and Aperiodic Threads | |
Monitoring Deadline Misses in Periodic Real-time Threads | |
Summary | |
Asynchronous Transfer of Control | |
Application Requirements for Asynchronous Transfer of Control | |
The Basic Model | |
Examples | |
Synchronized Methods and Statements | |
The Interruptible Interface | |
Multiple Asynchronously | |
Interrupted | |
Exceptions | |
The Timed Class | |
Thread Deadline Miss Handlers Revisited | |
Further Examples | |
Summary | |
Resource Sharing | |
Priority Inheritance | |
The RTSJ and Priority Inheritance | |
Wait-Free Queues | |
Summary | |
Physical and Raw Memory | |
The Basic Model | |
Table of Contents provided by Publisher. All Rights Reserved. |