Семафор. Для чего нужен начальный счетчик?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Семафор. Для чего нужен начальный счетчик?

Сообщение Anonymous »

http://msdn.microsoft.com/en-us/library ... eslim.aspx
Чтобы создать семафор, мне нужно указать начальный счетчик и максимальное количество. MSDN утверждает, что начальное количество — это

начальное количество запросов для
семафора, которое может быть разрешено
одновременно.

Хотя указано, что максимальное количество

Максимальное количество запросов длясемафор, который может быть предоставлен
одновременно.

Я понимаю, что максимальное количество — это максимальное количество потоков, которые могут получить доступ к ресурс одновременно, но какая польза от начального счетчика?
Если я создам семафор с начальным счетчиком 0 и максимальным счетчиком 2, ни один из потоков моего пула потоков не сможет получить доступ ресурс. Если я установлю начальный счетчик равным 1, а максимальный счетчик — равным 2, то только один поток пула потоков сможет получить доступ к ресурсу. Только когда я устанавливаю начальное и максимальное количество как 2, 2 потока могут одновременно обращаться к ресурсу. Итак, меня действительно смущает значение первоначального подсчета?
SemaphoreSlim semaphoreSlim = new SemaphoreSlim(0, 2); //all threadpool threads wait
SemaphoreSlim semaphoreSlim = new SemaphoreSlim(1, 2);//only one thread has access to the resource at a time
SemaphoreSlim semaphoreSlim = new SemaphoreSlim(2, 2);//two threadpool threads can access the resource concurrently


Подробнее здесь: https://stackoverflow.com/questions/470 ... tial-count
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • При попытке использовать семафор выполняется только один из моих потоков [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как использовать семафор, если я хочу обратиться к конкретному процессу, чтобы начать работу
    Anonymous » » в форуме Linux
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous
  • Временной семафор Java со счетчиком
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Семафор ждать и отправлять сообщения с помощью вилки
    Anonymous » » в форуме Linux
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как использовать семафор вместо этого кода (ожидание с активным циклом) ядра Linux?
    Anonymous » » в форуме Linux
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»