Assembly: Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
| Visual Basic (Declaration) |
|---|
Public Class LockableObject _ Implements ILockable, IDisposable |
| C# |
|---|
public class LockableObject : ILockable, IDisposable |
| Visual C++ |
|---|
public ref class LockableObject : ILockable, IDisposable |
Remarks
All lockable objects (i.e. classes that are derived from LockableObject) are thread safe.
To prevent the internal data of the object to be modified by another thread, use method Lock(). When you no longer needed to lock the object, unlock it with Unlock() method. Note, standard Graphics Mill for .NET methods are locking the object when necessary, so you need not doing it yourself.
When you try to change the state of the object in the same thread where you lock the object, the deadlock will occur and the application will hang. That's why you should carefully work with locked objects. To verify whether object is locked, use Locked property. You can also use a timeout Timeout property to avoid hanging of the application during deadlock, however you should remember, that deadlock is a flaw in the logic of your code. So you should not rely at Timeout property as a solution of the deadlock problem.
Inheritance Hierarchy
Aurigma.GraphicsMill.LockableObject
Aurigma.GraphicsMill.UnitConverterObject
Aurigma.GraphicsMill.ColorPalette
Aurigma.GraphicsMill.ColorProfile
Aurigma.GraphicsMill.ChannelsProvider
Aurigma.GraphicsMill.Histogram
Aurigma.GraphicsMill.ColorAdjustmentProvider
Aurigma.GraphicsMill.TransformsProvider
Aurigma.GraphicsMill.BitmapStatisticsProvider
Aurigma.GraphicsMill.BitmapData
Aurigma.GraphicsMill.ColorManagementProvider
Aurigma.GraphicsMill.MultiTaskManager
Aurigma.GraphicsMill.Codecs.Frame
Aurigma.GraphicsMill.Codecs.XmpNode
Aurigma.GraphicsMill.Codecs.MetadataDictionary
Aurigma.GraphicsMill.Codecs.XmpData
Aurigma.GraphicsMill.Transforms.Matrix
Aurigma.GraphicsMill.Transforms.Lut