CurrentCount
CurrentCount уменьшается после Wait и растёт после Release.
Синтаксис
int free = sem.CurrentCount;
Пример
Давайте проследим счётчик при SemaphoreSlim(1, 1):
using System;
using System.Threading;
class Program
{
static void Main()
{
var sem = new SemaphoreSlim(1, 1);
Console.WriteLine(sem.CurrentCount);
sem.Wait(0);
Console.WriteLine(sem.CurrentCount);
sem.Release();
Console.WriteLine(sem.CurrentCount);
}
}
Результат выполнения кода:
1
0
1
Пример
Давайте прочитаем CurrentCount у SemaphoreSlim(3, 3):
using System;
using System.Threading;
class Program
{
static void Main()
{
var sem = new SemaphoreSlim(3, 3);
Console.WriteLine(sem.CurrentCount);
}
}
Результат выполнения кода:
3
Смотрите также
-
Wait,
Wait -
Release,
Release -
SemaphoreSlim,
ограничение параллелизма -
ReaderWriterLockSlim,
чтение и запись