Monitor

Monitor CF 1.0, ECMA 1.0

System.Threading (mscorlib.dll) sealed class

This class contains static methods for thread communication and synchronization. The Enter( ) and Exit( ) methods allow you to obtain and release a lock on an object, respectively. If an object lock has already been obtained by another thread, Enter( ) blocks and resumes executing when the lock is released.

Various languages have the ability to silently emit calls on this type as language built-in primitives. C#'s lock{ } syntax translates into these two methods: the beginning of the lock block is transformed into a call to Enter( ) , and the close of the block calls Exit( ) . (In the presence of exceptions and return calls, the C# compiler must ensure the release of the monitor regardless of how the code exits the lock block.)

TryEnter( ) attempts to obtain an object lock, but it continues executing and returns false if unsuccessful . Wait( ) releases an object lock and causes the current thread to wait until another thread calls Pulse( ) or PulseAll( ) on the same object. Wait( ) must be executed from a synchronized block of code.

 public sealed class  Monitor  {  // Public Static Methods  public static void  Enter  (object   obj   );    public static void  Exit  (object   obj   );    public static void  Pulse  (object   obj   );    public static void  PulseAll  (object   obj   );    public static bool  TryEnter  (object   obj   );    public static bool  TryEnter  (object   obj   , int   millisecondsTimeout   );    public static bool  TryEnter  (object   obj   , TimeSpan   timeout   );    public static bool  Wait  (object   obj   );    public static bool  Wait  (object   obj   , int   millisecondsTimeout   );    public static bool  Wait  (object   obj   , int   millisecondsTimeout   , bool   exitContext   );    public static bool  Wait  (object   obj   , TimeSpan   timeout   );    public static bool  Wait  (object   obj   , TimeSpan   timeout   , bool   exitContext   ); } 


C# in a Nutshell
C # in a Nutshell, Second Edition
ISBN: 0596005261
EAN: 2147483647
Year: 2005
Pages: 963

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net