org.eclipse.swt.widgets

## Class Synchronizer

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

Direct Known Subclasses:
  ClusteredSynchronizer

    public class Synchronizer
    extends java.lang.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 and Description
`Synchronizer(Display display)` Constructs a new instance of this class.

### Method Summary

Methods
`protected void` `asyncExec(java.lang.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(java.lang.Runnable runnable)`
`protected void` `syncExec(java.lang.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 Detail

#### Synchronizer

    public Synchronizer(Display display)

Constructs a new instance of this class.

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

### Method Detail

#### runnableAdded

    protected void runnableAdded(java.lang.Runnable runnable)

#### asyncExec

    protected void asyncExec(java.lang.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(java.lang.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)`

Copyright (c) EclipseSource and others 2002, 2019. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0