Files
mirror-processhacker/1.x/trunk/ProcessHacker.Common/Threading/IResourceLock.cs
T
wj32 ce3009d180 changed HandleTable to use FastResourceLock
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@2479 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2009-12-20 09:37:25 +00:00

42 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
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();
}
}