Creating Threads• Sub classing Thread: – Creating subclass – Overriding the run method – Starting the thread • Using the Runnable interface: – Implementing the Runnable interface – Impl
Trang 1Slide 1/12
A Guide to Advanced Java - Module 1 - Thread 30/07/2008
Module 1 Introduction to Thread
• Objective
Trang 2Define Threads
Trang 3Slide 3/12
A Guide to Advanced Java - Module 1 - Thread 30/07/2008
Trang 4Creating Threads
• Sub classing Thread:
– Creating subclass
– Overriding the run()
method – Starting the thread
• Using the Runnable interface:
– Implementing the Runnable interface – Implementing the run() method
– Starting the thread
Trang 5Slide 5/12
A Guide to Advanced Java - Module 1 - Thread 30/07/2008
Thread states
Trang 6Methods of the Thread class
• The currentThread() method returns the thread running.
• The getName() method helps to retrieve the name of the
current thread
• The setName() method assigns a name to a thread.
• The start() method allocates the system resources
necessary to run the thread and executes the run()
method of its target object
• The run() method contains instructions, which are
executed when the start() method is invoked
Trang 7Slide 7/12
A Guide to Advanced Java - Module 1 - Thread 30/07/2008
Methods of the Thread class …
Trang 8Methods of the Thread class …
Trang 9Slide 9/12
A Guide to Advanced Java - Module 1 - Thread 30/07/2008
Managing Thread
• Thread priority
– Thread.MAX_PRIORITY : constant value of 10
– Thread.NORM_PRIORITY : constant value of 5, default
– Thread.MIN_PRIORITY : constant value of 1
• Methods:
– setPriority()
– getPriority()
• Thread priority helps the thread scheduler to decide
which thread to run
• Priority also helps the OS to decide the amount of
resource that has to be allocated to each thread
Trang 10Daemon Threads
• setDaemon() method
• isDaemon() method
Trang 11Slide 11/12
A Guide to Advanced Java - Module 1 - Thread 30/07/2008
Needs for Daemon Thread
Trang 12Summary
Trang 13Slide 13/12
A Guide to Advanced Java - Module 1 - Thread 30/07/2008
LAB & Exercises
LAB
1) Extending the Thread class 2) Implementing the Runnable 3) Creating the Thread objects 4) Using sleep() and getName() methods 5) Displaying Thread class method descriptions 6) Setting and getting Thread priorities
Exercises
Write a thread displaying an electronic clock