Java Tutorials - Herong's Tutorial Notes
Dr. Herong Yang, Version 6.00

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 a process.
  • 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.

Sections in This Chapter

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

Dr. Herong Yang, updated in 2008
What Are Processes and Threads?