CIS 35A: Introduction to Java Programming

Home | Green Sheet | Lectures | Assignments | FAQ | Grades

Threads

Threads
Create threads
Extending the Thread class

A procedure for creating a thread by extending the Thread class

  • Create a class that inherits the Thread class.
  • Overload the run method to perform the desired task.
  • Create the thread by instantiating an object from the class.
  • Call the start method of the thread object.

A Count Down application that starts two count-down threads

public class CountDownApp
{
    public static void main(String[] args)
    {
        Thread count1 = new CountDownEven();
                                        // instantiate the countdown threads
        Thread count2 = new CountDownOdd();
        count1.start();                       // start the countdown threads
        count2.start();
    }
}

class CountDownEven extends Thread            // this class counts even numbers
{
    public void run()
    {
        for (int i = 10; i > 0; i-= 2)
        {
            System.out.println(this.getName() + " Count " + i);
            Thread.yield();                   // allow the other thread to run
        }
    }
}

class CountDownOdd extends Thread             // this class counts odd numbers
{
    public void run()
    {
        for (int i = 9; i > 0; i-= 2)
        {
            System.out.println(this.getName() + " Count " + i);
            Thread.yield();                   // allow the other thread to run
        }
    }
}

Console output from the Count Down application

Thread-0 Count 10 Thread-1 Count 9 Thread-0 Count 8 Thread-1 Count 7 Thread-0 Count 6 Thread-1 Count 5 Thread-0 Count 4 Thread-1 Count 3 Thread-0 Count 2 Thread-1 Count 1 Press any key to continue . . .
Previous | Thread class | Extending the Thread class | Implementing the Runnable interface | Next