Concurrent and Real-time Programming in Java - Andrew J. Wellings

Concurrent and Real-time Programming in Java

Buch | Softcover
446 Seiten
2004
John Wiley & Sons Ltd (Verlag)
978-0-470-84437-3 (ISBN)
53,93 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Real-time functionality is useful for developing various consumer, industrial, and systems devices. While the C/C++ programming language is most often used in the creation of real-time software, the Java language, with its simple and familiar object-oriented programming model, offers various advantages over real-time practices.
Real-time functionality is essential for developing many consumer, industrial, and systems devices. While the C/C++ programming language is most often used in the creation of real-time software, the Java language, with its simple and familiar object-oriented programming model, offers many advantages over current real-time practices. "Concurrent and Real-Time Programming in Java" covers the motivations for, and semantics of, the extensions and modifications to the Java programming environment that enable the Java platform (Virtual Machine) to meet the requirements and constraints of real--time development. Key aspects of concurrent and real--time programming and how they are implemented in Java are discussed, such as concurrency, memory management, real--time scheduling, and real--time resource sharing.

Andy Wellings is Professor of Real-Time Systems at the University of York, UK. He has published over 150 technical papers and reports, has written 5 textbooks and edits the Wiley Journal Software Practice and Experience. He is a member of the Technical Interpretation Committee for the Real-Time Specification of Java. He teaches courses in Operating Systems, Real-Time Systems and Networks and Distributed Systems.

Preface.1 Introduction.1.1 Concurrency.1.2 Real-time Systems.1.3 Summary.2 Concurrent Programming in Java.2.1 Concurrency Models.2.2 Overview of Java Concurrency Model.2.3 Threads in Detail.2.4 Thread Termination.2.5 Thread-local Data.2.6 Summary.3 Communication and Synchronization.3.1 Synchronized Methods and Statements.3.2 Waiting and Notifying.3.3 Implementing Condition Variables.3.4 Synchronization and the Java Memory Model.3.5 Asynchronous Thread Control.3.6 Summary.4 Completing the Java Concurrency Model.4.1 Thread Priorities and Thread Scheduling.4.2 Delaying Threads.4.3 Thread Groups.4.4 Concurrency-related Utilities.4.5 The Process and Runtime Classes.4.6 Thread-related Exceptions.4.7 Strengths and Limitations of the Java Concurrency Model.4.8 Bloch's Thread Safety Levels.4.9 Summary.5 Implementing Communication Paradigms in Java.5.1 Semaphores.5.2 Signals.5.3 Events.5.4 Buffers.5.5 Blackboard.5.6 Broadcast.5.7 Barriers.5.8 Summary.6 Case Study: Concurrent Maze Search.6.1 Concurrent Maze Searching.6.2 Stopping the Search when a Solution is Found.6.3 Limiting the Concurrency by Reusing Threads.6.4 Summary.7 The Real-time Specification for Java.7.1 Background and NIST Requirements.7.2 Overview of Enhancements.7.3 Memory Management.7.4 Time Values and Clocks.7.5 Schedulable Objects and Scheduling.7.6 Real-time Threads.7.7 Asynchronous Event Handling and Timers.7.8 Asynchronous Transfer of Control.7.9 Synchronization and Resource Sharing.7.10 Physical and Raw Memory Access.7.11 System-wide Properties.7.12 Synchronization and the RTSJ.7.13 Summary.8 Memory Management.8.1 The Basic Model.8.2 An Example of Scoped Memory Usage.8.3 Estimating the Size of Scoped Memory Areas.8.4 Assignment Rules.8.5 Nested Memory Areas and the Single Parent Rule.8.6 Sharing Memory Areas between Schedulable Objects.8.7 Portals.8.8 Using Scoped Memory.8.9 Real-time Issues.8.10 Summary.9 Clocks and Time.9.1 The Basic Model.9.2 Examples.9.3 Summary.10 Scheduling and Schedulable Objects.10.1 Scheduling and Fixed Priority Scheduling.10.2 The Basic Model.10.3 The Priority Scheduler.10.4 The Parameter Classes.10.5 Parameters Classes and the Priority Scheduler.10.6 Alternative Schedulers and EDF Scheduling.10.7 Summary.11 Asynchronous Events and their Handlers.11.1 The Basic Model.11.2 Bound Event Handlers.11.3 Cost Enforcement and Deadline Monitoring.11.4 Timers.11.5 Program Termination and Asynchronous Event Handlers.11.6 POSIX Signals.11.7 Examples.11.8 Asynchronous Events with Parameters.11.9 Understanding Asynchronous Event Handlers.11.10 Summary.12 Real-Time Threads.12.1 The Basic Model.12.2 The NoHeapRealtimeThread Class.12.3 The Model of Periodic, Sporadic and Aperiodic Threads.12.4 Monitoring Deadline Misses in Periodic Real-time Threads.12.5 Summary.13 Asynchronous Transfer of Control.13.1 Application Requirements for Asynchronous Transfer of Control.13.2 The Basic Model.13.3 Examples.13.4 Synchronized Methods and Statements.13.5 The Interruptible Interface.13.6 Multiple AsynchronouslyInterruptedExceptions.13.7 The Timed Class.13.8 Thread Deadline Miss Handlers Revisited.13.9 Further Examples.13.10 Summary.14 Resource Sharing.14.1 Priority Inheritance.14.2 The RTSJ and Priority Inheritance.14.3 Wait-Free Queues.14.4 Summary.15 Physical and Raw Memory.15.1 The Basic Model.15.2 Creating Objects in Physical Memory.15.3 Accessing Raw Memory.15.4 Summary.16 Case Study: Automobile Cruise Control System.16.1 ACCS Requirements.16.2 System Interactions.16.3 Software Design.16.4 Implementation.16.5 Summary.17 High-Integrity Real-Time Systems.17.1 The Ravenscar Computational Model.17.2 Java, the RTSJ and Ravenscar.17.3 The Ravenscar-Java Profile.17.4 Summary of Ravenscar-Java Profile.17.5 An Extended Example-A Mine Control System.17.6 Summary.18 Conclusions.18.1 Specification Challenges.18.2 Implementation Challenges.18.3 Maintaining Momentum.18.4 Finally...Appendix: Java Class and Interface Specifications.References.Index.

Erscheint lt. Verlag 24.9.2004
Zusatzinfo Illustrations
Verlagsort Chichester
Sprache englisch
Maße 193 x 237 mm
Gewicht 830 g
Einbandart Paperback
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-470-84437-X / 047084437X
ISBN-13 978-0-470-84437-3 / 9780470844373
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90