Files
mirror-processhacker/1.x/trunk/ProcessHacker.Common/Threading/IResourceLock.cs
T
dmex 056f4c0914 PH1.x: Code Cleanup/Fixes
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4784 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2011-10-30 02:47:41 +00:00

38 lines
1.1 KiB
C#

namespace ProcessHacker.Common.Threading
{
public interface IResourceLock
{
/// <summary>
/// Acquires the lock in exclusive mode, blocking if necessary.
/// </summary>
void AcquireExclusive();
/// <summary>
/// Acquires the lock in shared mode, blocking if necessary.
/// </summary>
void AcquireShared();
/// <summary>
/// Releases the lock in exclusive mode.
/// </summary>
void ReleaseExclusive();
/// <summary>
/// Releases the lock in shared mode.
/// </summary>
void ReleaseShared();
/// <summary>
/// Attempts to acquire the lock in exclusive mode.
/// </summary>
/// <returns>Whether the lock was acquired.</returns>
bool TryAcquireExclusive();
/// <summary>
/// Attempts to acquire the lock in shared mode.
/// </summary>
/// <returns>Whether the lock was acquired.</returns>
bool TryAcquireShared();
}
}