# Class EasyThread

java.lang.Object
com.codename1.util.EasyThread

public final class EasyThread extends java.lang.Object
An easy API for working with threads similar to call serially/and wait that allows us to create a thread and dispatch tasks to it.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static interface`
  `EasyThread.ErrorListener<T>`
  Callback listener for errors on easy thread

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addErrorListener(EasyThread.ErrorListener err)`
  Adds a callback for error events, notice that this code isn't thread safe and should be invoked synchronously.
  `static void`
  `addGlobalErrorListener(EasyThread.ErrorListener err)`
  Adds a callback for error events, notice that this code isn't thread safe and should be invoked synchronously.
  `boolean`
  `isThisIt()`
  Returns true if the current thread is the easy thread and false othewise similar to the isEDT method
  `void`
  `kill()`
  Stops the thread once the current task completes
  `void`
  `removeErrorListener(EasyThread.ErrorListener err)`
  Removes a callback for error events, notice that this code isn't thread safe and should be invoked synchronously.
  `static void`
  `removeGlobalErrorListener(EasyThread.ErrorListener err)`
  Removes a callback for error events, notice that this code isn't thread safe and should be invoked synchronously.
  `<T> void`
  `run(RunnableWithResult<T> r, SuccessCallback<T> t)`
  Runs the given object asynchronously on the thread and returns the result object
  `<T> T`
  `run(RunnableWithResultSync<T> r)`
  Runs the given runnable on the thread and blocks until it completes, returns the value object
  `void`
  `run(Runnable r)`
  Runs the given runnable on the thread, the method returns immediately
  `void`
  `runAndWait(Runnable r)`
  Invokes the given runnable on the thread and waits for its execution to complete
  `void`
  `setPriority(int newPriority)`
  Changes the priority of this EasyThread.
  `static EasyThread`
  `start(String name)`
  Starts a new thread

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### start

    public static EasyThread start(String name)

    Starts a new thread

    ###### Parameters

    - `name`: the display name for the thread

    ###### Returns

    a new thread instance

  - ### addGlobalErrorListener

    public static void addGlobalErrorListener(EasyThread.ErrorListener err)

    Adds a callback for error events, notice that this code isn't thread safe and should be invoked synchronously. This method must never be invoked from within the resulting callback code!

    ###### Parameters

    - `err`: the error callback

  - ### removeGlobalErrorListener

    public static void removeGlobalErrorListener(EasyThread.ErrorListener err)

    Removes a callback for error events, notice that this code isn't thread safe and should be invoked synchronously. This method must never be invoked from within the resulting callback code!

    ###### Parameters

    - `err`: the error callback

  - ### run

    public <T> void run(RunnableWithResult<T> r, SuccessCallback<T> t)

    Runs the given object asynchronously on the thread and returns the result object

    ###### Parameters

    - `r`: runs this method

    - `t`: object is passed to the success callback

  - ### run

    public void run(Runnable r)

    Runs the given runnable on the thread, the method returns immediately

    ###### Parameters

    - `r`: the runnable

  - ### run

    public <T> T run(RunnableWithResultSync<T> r)

    Runs the given runnable on the thread and blocks until it completes, returns the value object

    ###### Parameters

    - `r`: the runnable with result that will execute on the thread

    ###### Returns

    value returned by r

  - ### runAndWait

    public void runAndWait(Runnable r)

    Invokes the given runnable on the thread and waits for its execution to complete

    ###### Parameters

    - `r`: the runnable

  - ### kill

    public void kill()
    Stops the thread once the current task completes

  - ### isThisIt

    public boolean isThisIt()

    Returns true if the current thread is the easy thread and false othewise similar to the isEDT method

    ###### Returns

    true if we are currently within this easy thread

  - ### addErrorListener

    public void addErrorListener(EasyThread.ErrorListener err)

    Adds a callback for error events, notice that this code isn't thread safe and should be invoked synchronously. This method must never be invoked from within the resulting callback code!

    ###### Parameters

    - `err`: the error callback

  - ### removeErrorListener

    public void removeErrorListener(EasyThread.ErrorListener err)

    Removes a callback for error events, notice that this code isn't thread safe and should be invoked synchronously. This method must never be invoked from within the resulting callback code!

    ###### Parameters

    - `err`: the error callback

  - ### setPriority

    public void setPriority(int newPriority)

    Changes the priority of this EasyThread.

    ###### Parameters

    - `newPriority`: priority to set this thread to