What Are Processes and Threads?
This section describes processes of multi-tasking operating systems and threads of multi-threading applications. Java is a programming language that allows you write multi-threading applications.
What is a thread? What is a process? Answers are in the following explanations:
There are 3 levels of executions of computer instructions on a computer system:
CPU Level: There is only one flow of execution on the
central processing unit (CPU), that is the operating system (OS).
OS Level: For a multi-tasking OS, multiple application programs
can be managed to be executed simultaneously. Here, a flow of execution is called
Application Level: For a well written application program, multiple
sections of codes can be managed to be executed simultaneously. Here, a flow of
execution is called a thread. A program that can manage multiple threads
is called a multi-threading program.
A good example of multi-threading programs are computer games that simulate
real time activities of multiple human characters and/or moving objects.
Under the Java architecture, the Java virtual machine (JVM) will provide
all the help you need to create and manage multiple threads in your Java applications.
Read subsequent sections for tutorial examples.
Last update: 2014.
Table of Contents
About This Book
JDK - Java Development Kit
Execution Process, Entry Point, Input and Output
Primitive Data Types and Literals
Bits, Bytes, Bitwise and Shift Operations
Managing Bit Strings in Byte Arrays
Reference Data Types and Variables
StringBuffer - The String Buffer Class
System Properties and Runtime Object Methods
Generic Classes and Parameterized Types
Generic Methods and Type Inference
Lambda Expressions and Method References
Java Modules - Java Package Aggregation
►Execution Threads and Multi-Threading Java Programs
►What Are Processes and Threads?
The "Thread" Class - Creating Thread Objects With Thread Sub Classes
The "Runnable" Interface - Creating Thread Objects with Runnable Objects
CPU Execution Time Shared by Multiple Threads
CPU Execution Time Shared by Multiple Threads - Test Output
Application Data Shared by Multiple Threads
Application Data Shared by Multiple Threads - Test Results
interrupt() - Method to Terminate Thread
ThreadGroup Class and "system" ThreadGroup Tree
Synchronization Technique and Synchronized Code Blocks
Deadlock Condition Example Programs
Garbage Collection and the gc() Method
Full Version in PDF/EPUB