User Interface Thread Synchronizer
UserInterfaceThreadSynchronizer you can execute code on the user interface thread from any thread.
This is usefull when an operation runs on a worker thread and needs for example to update a label on the UI or needs to create a UI component for later usage.
The user interface thread synchronizer needs to be created on the user interface thread. Otherwise, it is not capable of switching to the user interface thread.
Later, you can use the user interface thread synchronizer to execute code on the UI thread:
This will block the worker thread and execute the action specified on the user interface thread.
You can also pass up to four arguments to the
You can return values back to the worker thread:
And you can execute the action asynchronously. Obviously, it's not possible to return a value.
For simpler tests, you can tell the user interface thread synchronizer to run synchronously by passing a
SyncrhonizationContext in the constructor:
Now, all actiosn are executed synchronously when
ExecuteAsync is called.