|
@@ -22,11 +22,19 @@ namespace JC.CS
|
|
|
{
|
|
{
|
|
|
count++;
|
|
count++;
|
|
|
}
|
|
}
|
|
|
|
|
+ public void Lock(object obj)
|
|
|
|
|
+ {
|
|
|
|
|
+ objects.Add(obj);
|
|
|
|
|
+ }
|
|
|
public void Unlock()
|
|
public void Unlock()
|
|
|
{
|
|
{
|
|
|
count--;
|
|
count--;
|
|
|
if (count < 0) count = 0;
|
|
if (count < 0) count = 0;
|
|
|
}
|
|
}
|
|
|
|
|
+ public void Unlock(object obj)
|
|
|
|
|
+ {
|
|
|
|
|
+ objects.Remove(obj);
|
|
|
|
|
+ }
|
|
|
public bool IsLocked()
|
|
public bool IsLocked()
|
|
|
{
|
|
{
|
|
|
return count > 0 || objects.Count > 0;
|
|
return count > 0 || objects.Count > 0;
|