Difference between revisions of "Good basic Thread notes from Oracle"

From MyWiki
Jump to: navigation, search
 
Line 35: Line 35:
 
         }
 
         }
 
     }
 
     }
 +
</source>
 +
 +
The following code would then create a thread and start it running:
 +
<source lang="java">
 +
        PrimeRun p = new PrimeRun(143);
 +
        new Thread(p).start();
 
</source>
 
</source>

Latest revision as of 23:53, 11 July 2015

There are two ways to create a new thread of execution. One is to declare a class to be a subclass of Thread. This subclass should override the run method of class Thread. An instance of the subclass can then be allocated and started. For example, a thread that computes primes larger than a stated value could be written as follows:

     class PrimeThread extends Thread {
         long minPrime;
         PrimeThread(long minPrime) {
             this.minPrime = minPrime;
         }
 
         public void run() {
             // compute primes larger than minPrime
              . . .
         }
     }

The following code would then create a thread and start it running:

     PrimeThread p = new PrimeThread(143);
     p.start();

The other way to create a thread is to declare a class that implements the Runnable interface. That class then implements the run method. An instance of the class can then be allocated, passed as an argument when creating Thread, and started. The same example in this other style looks like the following:

     class PrimeRun implements Runnable {
         long minPrime;
         PrimeRun(long minPrime) {
             this.minPrime = minPrime;
         }
 
         public void run() {
             // compute primes larger than minPrime
              . . .
         }
     }
The following code would then create a thread and start it running:
         PrimeRun p = new PrimeRun(143);
         new Thread(p).start();