Каково максимальное количество потоков в Windows Server 2003?

Вы можете просто создавать файлы с именем слова для печати, использовать findstr, который может печатать в цвете, а затем стирает файл. Попробуйте этот пример:

@echo off
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  set "DEL=%%a"
)

call :ColorText 0a "green"
call :ColorText 0C "red"
call :ColorText 0b "cyan"
echo(
call :ColorText 19 "blue"
call :ColorText 2F "white"
call :ColorText 4e "yellow"

goto :eof

:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof

Запустите color /?, чтобы получить список цветов.

30
задан ShuggyCoUk 28 January 2009 в 13:06
поделиться

5 ответов

Сначала я советовал бы читать это: http://blogs.msdn.com/oldnewthing/archive/2007/03/01/1775759.aspx

затем http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx

подводя итоги, ограничение обычно является стековым пространством (который должен быть в непрерывных блоках), и так как каждый поток использует, это рассеялось о Вас, быстро исчерпывает непрерывные блоки. На машинах на 64 бита и операционных системах это - намного меньше проблемы.

стратегии Смягчения существуют, но будут только идти до сих пор (и полагаться на Вас не использующий много стека на поток)

Как грубое руководство:

  • десятки создания почти наверняка будут работать
  • , сотни вероятны на текущем сервере и настольных аппаратных средствах, но опасный
  • тысячи почти наверняка перестанут работать.

Вы, вероятно, не должны должны быть создавать больше чем десять так или иначе (и если Вы действительно делаете , потребность Вам уже должна знать эту информацию)

35
ответ дан 27 November 2019 в 23:18
поделиться

Примечание, что необходимо исследовать дизайн тесно, если Вы обеспокоены ударом этого предела!!!!!!!!

ответом на Ваш "Более важный Вопрос" того, что происходит, является OutOfMemoryException.

Не точно прямой ответ, но вот некоторый код для обнаружения предела. Это мог быть доступный зависимый памяти все же. Интересовался бы наблюдением других результатов ОС/CPU/мадам.

Не стесняются редактировать и включать Вашу машину:

  • Windows 7, VS2008, двухъядерная, мадам на 2 ГБ: 1,465 затем катастрофический отказ с OutOfMemoryException

        int i = 0;
        try
        {
            while (true)
            {
                new Thread(new ThreadStart(() => Thread.Sleep(int.MaxValue))).Start();
                i++;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(i);
            Console.WriteLine(ex.ToString());
        }
    
15
ответ дан 27 November 2019 в 23:18
поделиться

Лучший ответ, который я услышал, когда задавание таких вопросов:

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

25
ответ дан 27 November 2019 в 23:18
поделиться

Действительно прочитайте сообщения в блоге Raymond Chen, на которые указал ответ ShuggyCoUk .

, Но обращают особое внимание на этот бит:

, Но реальный вопрос, который поднят каждый раз, когда кто-то спрашивает, "Каково максимальное количество потоков, которые может создать процесс?", "Почему Вы создаете столько потоков, что это даже становится проблемой?"

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

2
ответ дан 27 November 2019 в 23:18
поделиться

Насколько я понимаю целую модель потоков, она не должна была изменяться очень начиная с Win2K.

нет никакого реального предела потоков по сути, но больше предела стекового пространства процессов. Посмотрите всестороннее объяснение поточной обработки пределов от Raymond Chen для получения дополнительной информации об этом.

1
ответ дан 27 November 2019 в 23:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: