powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Размер стека для потока
13 сообщений из 13, страница 1 из 1
Размер стека для потока
    #32260383
Silent_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как оперделить оптимальный размер стека для потока что-бы запустить большое кол-во потоков в процессе (более 2000).
Т.к значение по умолчанию 1 мега явно много для моей функции

Может по размеру передаваемых аргументов функции(тип указателя)?
Короче незнаю.
Please HELP !!!!
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260610
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
причем тут размер стека и кол-во потоков???
вообще говоря каждому потоку выделяется свой стек и именно с ним и работает функция потока. Равно как и размер передаваемых аргументов тоже мало что скажет... Ты в курсе что в стеке хранятся не только передаваемые данные, но и адреса точек возврата из функций, все локальные переменные, а так же все то что компилятор посчитает нужным туда засунуть. Поводом для увеличения размера стека является появление ошибки Stack overflow при невозможности другими путями избавится от нее (чаще всего возникает при рекурсии)... можно на нее же орентироваться при уменьшении... грубо говоря выводим прогу на режим когда она по максимуму пихает в стек, уменьшаем его размер до появления ошибки умножаем размер стека на коэффициент запаса, который принимается равным пи либо 2*пи и выставляем. А потом молимся чтоб прога не выжрала и этот объем...
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260611
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
и еще почитай про стек подробно. Эта та область где, если не разбираешься то не лезь
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260693
Silent_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читай MSDN.

The number of threads a process can create is limited by the available virtual memory. By default, every thread has one megabyte of stack space. Therefore, you can create at most 2028 threads. If you reduce the default stack size, you can create more threads. However, your application will have better performance if you create one thread per processor and build queues of requests for which the application maintains the context information. A thread would process all requests in a queue before processing requests in the next queue.
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260701
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Silent_Sasha
и что ты этим хотел сказать?
знаешь, я бы мог тебя отправить тогда уж еще дальше, к документации Intel на защищенный режим процессоров...
а вот то что ты привел, я так и не понял к чему это.... только еще больше укрепился в мысли что ты в этом не компетентен в этом вопросе...
хотя если был бы компетентен, то не задавал бы... но тогда причем тут выдержка, которую ты привел?
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260711
Silent_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разговор идет об функции
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
DWORD dwStackSize, // initial stack size
LPTHREAD_START_ROUTINE lpStartAddress, // thread function
LPVOID lpParameter, // thread argument
DWORD dwCreationFlags, // creation option
LPDWORD lpThreadId // thread identifier
);

в частности DWORD dwStackSize // initial stack size

для функции LPTHREAD_START_ROUTINE lpStartAddress, // thread function
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260783
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я в курсе и об этой функции и о десятке других.
и уж догадываюсь каким образом запускается функция потока... в моем сервисе сейчас дружат около 4 явных, постоянных потоков и фигова туча тех кто появляется и исчезает при возникновении различных событий...
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260798
Silent_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужно запустить не 4 и не 10 потоков а более 2000
каким образом это осуществить
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260877
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2000...
а зачем? можно полюбопытствовать? если такой зверинец глюкнет, то будут большие проблемы.... ОЧЕНЬ большие проблемы....
тогда в твоем случае актуально у меньшение размера стека.... всеж при стандартном размере это будет 2 гига памяти...
только всеж... поделись секретом, зачем?
более того, ты в курсе что существуют накладные расходы на переключение между потоками? на 2000 потоках это будет очень даже актуально... я думаю эт будет один великий тормоз, а не приложение
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260923
Silent_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<<я думаю эт будет один великий тормоз, а не приложение>>
Не для 8 процесорной системы

А приложение всего лишь нейросимулятор

Если ты знаешь как это осуществить (оптимальный размер стека для потоковой функции), дай совет, а иначе нечего и любопытствовать.
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260935
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как расчитать я знаю
но извини, с тобой не хочется делится!!!
тебе надо помимо всего прочего научится общаться
...
Рейтинг: 0 / 0
Размер стека для потока
    #32260955
Silent_Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, а помоему ты только и делал, что на меня наезжал.

Вопрос закрыт, ответ поищу в другом месте.
...
Рейтинг: 0 / 0
Размер стека для потока
    #32261071
maratka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Silent_Sasha
>> <<я думаю эт будет один великий тормоз, а не приложение>>
> Не для 8 процесорной системы
думаю даже и для такой...
так ведь совет был сразу дан... почитай повнимательней первый ответ... да и второй тоже к месту, хотя резковато.... и я думаю, надо всеми путями стараться уменьшить и не увеличивать число создаваемых потоков. это также та же самая область...
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Размер стека для потока
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]