10. 1. 1. Creating a Thread |
|
A thread is a basic processing unit to which an operating system allocates processor time, and more than one thread can be executing code inside a process.
(Java 5: A Beginner's Tutorial by Budi Kurniawan Brainy Software Corp. 2006 |
Every Java program has at least one thread, the thread that executes the Java program.
It is created when you invoke the static main method of your Java class. |
There are two ways to create a thread. |
- Extend the java.lang.Thread class
- Implement the java.lang.Runnable interface.
|
- Once you have a Thread object, you call its start method to start the thread.
- When a thread is started, its run method is executed.
- Once the run method returns or throws an exception, the thread dies and will be garbage-collected.
|
Every Thread has a state and a Thread can be in one of these six states. |
- new. A state in which a thread has not been started.
- runnable. A state in which a thread is executing.
- blocked. A state in which a thread is waiting for a lock to access an object.
- waiting. A state in which a thread is waiting indefinitely for another thread to perform an action.
- timed__waiting. A state in which a thread is waiting for up to a specified period of time for another thread to perform an action.
- terminated. A state in which a thread has exited.
|
The values that represent these states are encapsulated in the java.lang.Thread.State enum.
The members of this enum are NEW, RUNNABLE, BLOCKED, WAITING, TIMED__WAITING, and TERMINATED. |