2010-09-15 2 views
2

Есть ли ограничение в максимальном числе мьютексов на процесс/поток в приложении Asp.net?Максимальное количество мьютексов на процесс/поток в окнах

На всякий случай целевые операционные системы: Windows XP Pro, сервер 2003/2008 и Windows 7 в ближайшем будущем. Обычно сайт размещается в пуле приложений.

ответ

1

Я собираюсь выйти на конечность здесь и рискнуть тем, что вы , вероятно, (не обязательно) что-то не так.

Raymond Chen сказал это best, но если вы беспокоитесь о максимальном числе мьютексов, вы, вероятно, защищаете свои ресурсы слишком мелкой детализацией.

Конечно, будет быть максимальным числом, даже если оно продиктовано доступной памятью, а не константой. Тем не менее, я не вижу никакой реальной ситуации, в которой вам понадобится столько мьютексов, что вы достигнете предела.

Я не говорю, что это невозможно, так как я понятия не имею, что такое архитектура вашего приложения. Но я был бы очень удивлен, если бы не было лучшего способа это сделать.

Возможно, если вы отступите и скажете нам, «что я хочу», а не «как я это сделал», мы могли бы предложить лучший совет.

+0

Веб-ферма и 1000 пользователей, получающих доступ к одному и тому же ресурсу (файл конфигурации) –

1

Предел по существу такой же, как предел количества ручек, которые может иметь процесс. Это довольно большое число: 16 777 216. Конечно, реальный предел намного ниже и зависит от того, сколько у вас нет выгружаемого пула, что не так уж и много.

Если вы беспокоитесь о лимите, в вашей программе что-то не так. Имейте в виду, что критические разделы обычно задерживают создание любых объектов ядра, а это значит, что вы можете иметь большое количество из них, если есть несколько утверждений.

+0

Если вы видите опубликованную ссылку, в ней упоминается, что мьютексы в XP имеют максимум 20. сайт - это веб-ферма, которая имеет доступ к 5 файлам конфигурации. –

+0

Э-э, нет. Существует простой способ опровергнуть вашу претензию: откройте Process Explorer и обработайте просмотр (включая неназванные дескрипторы) для нескольких разных процессов. Количество объектов Mutant будет составлять намного больше, чем 20. – wj32

Смежные вопросы