- Aurigma Graphics Mill 5.5 for .NET
- Introduction
- What's New?
- Overview of Features
- Getting Started
- Programming with Graphics Mill for .NET
- File Formats
- Graphics Mill for .NET Add-ons
- Class Library Reference
- Aurigma.GraphicsMill Namespace
- AbortedException Class
- AdvancedPsdLibraryModule Class
- AviProcessorLibraryModule Class
- Bitmap Class
- BitmapChange Enumeration
- BitmapChangedEventArgs Class
- BitmapChangedEventHandler Delegate
- BitmapChangingEventArgs Class
- BitmapChangingEventHandler Delegate
- BitmapData Class
- BitmapEmptyException Class
- BitmapLockedException Class
- BitmapSavingEventArgs Class
- BitmapSavingEventHandler Delegate
- BitmapStatisticsProvider Class
- ChannelsProvider Class
- CMAdobeModuleLoadException Class
- CMException Class
- CMInappropriateProfileException Class
- CMOpenProfileException Class
- CMTransformException Class
- CmykColor Class
- Color Class
- ColorAdjustmentProvider Class
- ColorChannel Enumeration
- ColorManagementProvider Class
- ColorPalette Class
- ColorPaletteEmptyException Class
- ColorPaletteType Enumeration
- ColorProfile Class
- ColorProfileClass Enumeration
- ColorSpace Enumeration
- ErrorEventArgs Class
- Exception Class
- GlobalSettings Class
- GraphicsMillLibraryModule Class
- GrayScaleColor Class
- Histogram Class
- HistogramMode Enumeration
- ILockable Interface
- IPixelFormatSupport Interface
- IStateNavigable Interface
- ISyncEvents Interface
- ISyncHandler Interface
- IUnitConverter Interface
- LibraryModuleAbstract Class
- LockableObject Class
- MediaProcessorLibraryModule Class
- MessageLoopNotPresentedException Class
- ObjectEmptyException Class
- ObjectLockedException Class
- ObjectNotOpenedException Class
- OperationNotCompletedException Class
- PixelFormat Enumeration
- PixelFormatUtils Class
- ProgressEventArgs Class
- ProgressEventHandler Delegate
- Rational Structure
- RgbColor Class
- StateRestoringEventArgs Class
- StateRestoringEventHandler Delegate
- StopEventHandler Delegate
- StreamWrapper Class
- SyncHandler Class
- SynchronizationMode Enumeration
- TimeoutException Class
- TransformsProvider Class
- TrialPeriodTimeException Class
- UnexpectedException Class
- Unit Enumeration
- UnitConverter Class
- UnitConverterHandler Class
- UnitConverterObject Class
- UnsignedRational Structure
- UnsupportedPixelFormatException Class
- Win32Exception Class
- ZipCompressor Class
- Aurigma.GraphicsMill.AjaxControls Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Math Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.RedoUndo Namespace
- Aurigma.GraphicsMill.Codecs Namespace
- Aurigma.GraphicsMill.Drawing Namespace
- Aurigma.GraphicsMill.Licensing Namespace
- Aurigma.GraphicsMill.Transforms Namespace
- Aurigma.GraphicsMill.WebControls Namespace
- Aurigma.GraphicsMill.WinControls Namespace
- GraphicsMill Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Math Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.RedoUndo Namespace (Client Class Library)
- Aurigma.GraphicsMill Namespace
- Samples
- Licensing
- Copyright Notices
SynchronizationMode Enumeration
Contains possible values for synchronization modes used in Graphics Mill for .NET.
Namespace:
Aurigma.GraphicsMill
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
Public Enumeration SynchronizationMode
public enum SynchronizationMode
Members
| Member name | Description | |
|---|---|---|
| AsyncViaMessageLoop |
Asynchronous mode which uses thread message loop (window procedure). Operation is run in auxiliary thread, events are fired in main thread. This is an asynchronous mode which executes the operation in auxilary thread, but call event handlers in main application thread. This is a crucial difference from Async mode. All event handlers are automatically thread safe, in particular it makes using standard controls like progress bar easy. However this method is not perfect too. You should write event handlers carefully and avoid deadlocks, otherwise your application will hang. Deadlock may happen when you get access to the bitmap or other object which has been locked. You can check it with property Locked. Also you may avoid hanging with a help of Timeout property. However deadlock means a flaw in your code logic, so anyway you must avoid it. Also, AsyncViaMessageLoop has a limitation - it works only at applications which have GUI. So if you need an asynchronous mode in console applications, ASP.NET, etc, you should use Async instead. |
|
| Async |
Asynchronous mode. Operation is run in auxiliary thread, most events are fired in auxiliary thread too. In asynchronous mode the operation is not running in the same thread with main application. Therefore user interface is not freezing, user can use your application while operation is done. He can abort, pause or continue the operation. Note, when events are fired, their handlers a run in auxilary thread. That's why you must provide thread safety for these handlers. If event handler and main application thread are modifying the same object or memory, the result is unpredictable (usually it just crashes unexpectedly). |
|
| Sync |
Synchronous mode. Operation is run in main thread of application. This mode is simple in usage and always used by default. The shortcoming of this method is that user interface freezes while operation is applied. If you need to run the operation in the background, you should use some of asynchronous mode. |