10 дефолтно в нормальной лицензионной винде =) а максимально при патче вроде не ограничено как уж потянет машина
Ограничения только в количестве свободной памяти. На 10 потоков никак не может стоять ограничение для процесса, т.к. в одном из svchost.exe около 80 потоков, в winlogon.exe штук 30. Следующий кусочек кода создает в моих системах около 2.3к потоков в своем процессе до тех пор, пока CreateThread не возвращает ERROR_NOT_ENOUGH_MEMORY: Code: #include <windows.h> #pragma comment(linker, "/ENTRY:Entry") #define _LOG_FILE_ "out.log" HANDLE hFile = NULL; VOID WINAPI Log(PCHAR msg,...) { char buff[1024] = "\0"; va_list mylist; DWORD dwWrited = 0; va_start(mylist, msg); wvsprintf(buff, msg, mylist); va_end(mylist); if(!hFile || (hFile == INVALID_HANDLE_VALUE)) hFile = CreateFile(_LOG_FILE_, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); if(hFile != INVALID_HANDLE_VALUE) WriteFile(hFile, buff, strlen(buff), &dwWrited, 0); } ULONG WINAPI Thread(PVOID pParam) { Log("Create: id=%i\r\n", GetCurrentThreadId()); Sleep(-1); return 1; } VOID WINAPI Entry() { int i = 0; for(i = 0; i < 10000; i++){ if(!CreateThread(NULL, 0, Thread, NULL, 0, NULL)) { Log("CreateThread error %i\r\n", GetLastError()); break; } } MessageBox(0, 0, 0, 0); ExitProcess(0); } Давно качал "патч для винды", который якобы давал возможность создавать аж до 50! потоков, оказалась обычная малваря.
наверно имеется ввиду не просто потоки а сетевые потоки в них ограничение 10 а можно пропатчить до 100
12usver12, а какая разница между обычным и "сетевым" потоками???? и что это за потоки такие вообще? )) В ХР сп2 проф, без всяких патчей узаю 100 потоков без проблем)
ТС, ты уже определись с потоками. О чем именно ты говоришь? Есть вычислительные потоки, а есть tcp соединения, это разные вещи. А то "ограничение на 10 потоков" в ХР, о котором тут говорят, это ограничение на 10 _полуоткрытых_ tcp соединений.
-Case-, что ты понимаеш под вычислительными потоками и ТСР соединениями? Если в потоке создаётся сокет и устанавливается соеденение, это что-то меняет? таких потоков меньше что-ле работать может? Или я что-то не догоняю?
Smapt, ты удивишься, но в однопоточном приложении может быть одновременно установлено несколько tcp сессий. Много ли общего между понятиями "кот" и "ботинок"? Вроде бы не очень, даже если учесть что кот может нассать в ботинок. Так и здесь, вычислительный поток и tcp соединение это разные понятия из маленько разных областей, вообще говоря, даже если они где-то пересекаются.
Да я тоже так понял, что ты не о tcp говорил, но все начали трындеть об ограничении на 10 потоков и посылать тебя за известным патчем, и я как-то засомневался