Package org.eclipse.swt.widgets

# Class Synchronizer

java.lang.Object
org.eclipse.swt.widgets.Synchronizer

Direct Known Subclasses:
  `ClusteredSynchronizer`

public class Synchronizer extends Object
Instances of this class provide synchronization support for displays. A default instance is created automatically for each display, and this instance is sufficient for almost all applications.

IMPORTANT: Typical application code never needs to deal with this class. It is provided only to allow applications which require non-standard synchronization behavior to plug in the support they require. Subclasses which override the methods in this class must ensure that the superclass methods are invoked in their implementations

Since:
  1.3
See Also:
  - ``

## Constructor Summary

Constructors
Constructor
Description
`Synchronizer(Display display)`
Constructs a new instance of this class.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`asyncExec(Runnable runnable)`
Causes the `run()` method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity.
`protected void`
`runnableAdded(Runnable runnable)`
`protected void`
`syncExec(Runnable runnable)`
Causes the `run()` method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity.

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

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

## Constructor Details

### Synchronizer

public Synchronizer(Display display)
Constructs a new instance of this class.

Parameters:
  `display` - the display to create the synchronizer on

## Method Details

### runnableAdded

protected void runnableAdded(Runnable runnable)

### asyncExec

protected void asyncExec(Runnable runnable)
Causes the `run()` method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity. The caller of this method continues to run in parallel, and is not notified when the runnable has completed.

Parameters:
  `runnable` - code to run on the user-interface thread.
See Also:
  - `syncExec(java.lang.Runnable)`

### syncExec

protected void syncExec(Runnable runnable)
Causes the `run()` method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity. The thread which calls this method is suspended until the runnable completes.

Parameters:
  `runnable` - code to run on the user-interface thread.
Throws:
  `SWTException` -
  - ERROR_FAILED_EXEC - if an exception occurred when executing the runnable
See Also:
  - `asyncExec(java.lang.Runnable)`