максимальное количество мьютексов на процесс / поток в windows - PullRequest
2 голосов
/ 15 сентября 2010

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

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

Ответы [ 2 ]

1 голос
/ 15 сентября 2010

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

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

1 голос
/ 15 сентября 2010

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

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

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

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

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

...