| 
 | " 2013 FRC Java API" | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.lang.Thread
public class Thread
A thread is a thread of execution in a program. The Java Virtual Machine allows an application to have multiple threads of execution running concurrently.
Every thread has a priority. Threads with higher priority are executed in preference to threads with lower priority.
 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();
 
Runnable, 
Runtime.exit(int), 
run()| Field Summary | |
|---|---|
| static int | MAX_PRIORITYThe maximum priority that a thread can have. | 
| static int | MIN_PRIORITYThe minimum priority that a thread can have. | 
| static int | NORM_PRIORITYThe default priority that is assigned to a thread. | 
| Constructor Summary | |
|---|---|
| Thread()Allocates a new Threadobject. | |
| Thread(Runnable target)Allocates a new Threadobject with a
 specific target object whoserunmethod
 is called. | |
| Thread(Runnable target,
       String name)Allocates a new Threadobject with the given
 target and name. | |
| Thread(String name)Allocates a new Threadobject with the
 given name. | |
| Method Summary | |
|---|---|
| static int | activeCount()Returns the current number of active threads in the VM. | 
| static Thread | currentThread()Returns a reference to the currently executing thread object. | 
|  String | getName()Returns this thread's name. | 
|  int | getPriority()Returns this thread's priority. | 
|  void | interrupt()Interrupts this thread. | 
|  boolean | isAlive()Tests if this thread is alive. | 
|  void | join()Waits for this thread to die. | 
|  void | run()If this thread was constructed using a separate Runnablerun object, then thatRunnableobject'srunmethod is called;
 otherwise, this method does nothing and returns. | 
|  void | setPriority(int newPriority)Changes the priority of this thread. | 
| static void | sleep(long millis)Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds. | 
|  void | start()Causes this thread to begin execution; the Java Virtual Machine calls the runmethod of this thread. | 
|  String | toString()Returns a string representation of this thread, including a unique number that identifies the thread and the thread's priority. | 
| static void | yield()Causes the currently executing thread object to temporarily pause and allow other threads to execute. | 
| Methods inherited from class java.lang.Object | 
|---|
| equals, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
public static final int MIN_PRIORITY
public static final int NORM_PRIORITY
public static final int MAX_PRIORITY
| Constructor Detail | 
|---|
public Thread()
Thread object.
 
 Threads created this way must have overridden their
 run() method to actually do anything.
Runnablepublic Thread(Runnable target)
Thread object with a
 specific target object whose run method
 is called.
target - the object whose run method is called.
public Thread(Runnable target,
              String name)
Thread object with the given
 target and name.
target - the object whose run method is called.name - the name of the new thread.public Thread(String name)
Thread object with the
 given name.
 Threads created this way must have overridden their
 run() method to actually do anything.
name - the name of the new thread.| Method Detail | 
|---|
public static Thread currentThread()
public static void yield()
public static void sleep(long millis)
                  throws InterruptedException
millis - the length of time to sleep in milliseconds.
InterruptedException - if another thread has interrupted
             the current thread.  The interrupted status of the
             current thread is cleared when this exception is thrown.Object.notify()public void start()
run method of this thread.
 
 The result is that two threads are running concurrently: the
 current thread (which returns from the call to the
 start method) and the other thread (which executes its
 run method).
IllegalThreadStateException - if the thread was already
               started.run()public void run()
Runnable run object, then that
 Runnable object's run method is called;
 otherwise, this method does nothing and returns.
 
 Subclasses of Thread should override this method.
run in interface Runnablestart(), 
Runnable.run()public void interrupt()
This method does nothing if the current thread is interrupting itself.
 If this thread is blocked in an invocation of the wait(),
 wait(long), or wait(long, int)
 methods of the Object class or of the join() or sleep(long)
 methods of this class, then its interrupt
 status will be cleared and it will receive an InterruptedException.
 
If none of the previous conditions hold then this thread's interrupt status will be set.
In an implementation conforming to the CLDC Specification, this operation is not required to cancel or clean up any pending I/O operations that the thread may be waiting for.
public final boolean isAlive()
true if this thread is alive;
          false otherwise.public final void setPriority(int newPriority)
newPriority - priority to set this thread to
IllegalArgumentException - If the priority is not in the
             range MIN_PRIORITY to
             MAX_PRIORITY.getPriority(), 
getPriority(), 
MAX_PRIORITY, 
MIN_PRIORITYpublic final int getPriority()
setPriority(int), 
setPriority(int)public final String getName()
public static int activeCount()
public final void join()
                throws InterruptedException
InterruptedException - if another thread has interrupted
             the current thread.  The interrupted status of the
             current thread is cleared when this exception is thrown.public String toString()
toString in class Object| 
 | " 2013 FRC Java API" | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||