# com.bea.ide.core.asynctask
IAsyncTask Interface

public interface IAsyncTask

Represents a task that can be performed in the background while the IDE is running. These can be performed by adding them to the AsyncTaskSvc's queue.

Each task consists of two parts. The first part is run on a background thread. This should be the time consuming or variable length part of the task. The second part is run on the foreground (AWT) thread. This should integrate the results of the background computations into the UI.

All Known Implementing Classes
  `DefaultAsyncTask`

## Method Summary

`public void` | `cleanup`() Called on the foreground (AWT) thread after either runForeground or interrupt is called.
`public void` | `interrupt`() Called instead of runForeground if this thread is interrupted.
`public void` | `runBackground`() Performs the part of processing that happens on the background thread.
`public void` | `runForeground`() Performs the part of processing that happens on the foreground (AWT) thread.

## Method Detail

### cleanup() Method

    public void cleanup()

Called on the foreground (AWT) thread after either runForeground or interrupt is called.

### interrupt() Method

    public void interrupt()

Called instead of runForeground if this thread is interrupted.

### runBackground() Method

    public void runBackground()

Performs the part of processing that happens on the background thread. If the thread's interrupted status is set while this is running, it can throw a AsyncTaskInterruptedException to unwind the stack.

### runForeground() Method

    public void runForeground()

Performs the part of processing that happens on the foreground (AWT) thread.