Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
Подскажите как оперделить оптимальный размер стека для потока что-бы запустить большое кол-во потоков в процессе (более 2000). Т.к значение по умолчанию 1 мега явно много для моей функции Может по размеру передаваемых аргументов функции(тип указателя)? Короче незнаю. Please HELP !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 17:54 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
причем тут размер стека и кол-во потоков??? вообще говоря каждому потоку выделяется свой стек и именно с ним и работает функция потока. Равно как и размер передаваемых аргументов тоже мало что скажет... Ты в курсе что в стеке хранятся не только передаваемые данные, но и адреса точек возврата из функций, все локальные переменные, а так же все то что компилятор посчитает нужным туда засунуть. Поводом для увеличения размера стека является появление ошибки Stack overflow при невозможности другими путями избавится от нее (чаще всего возникает при рекурсии)... можно на нее же орентироваться при уменьшении... грубо говоря выводим прогу на режим когда она по максимуму пихает в стек, уменьшаем его размер до появления ошибки умножаем размер стека на коэффициент запаса, который принимается равным пи либо 2*пи и выставляем. А потом молимся чтоб прога не выжрала и этот объем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 03:39 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
P.S. и еще почитай про стек подробно. Эта та область где, если не разбираешься то не лезь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 03:45 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
Читай 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 08:58 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
Silent_Sasha и что ты этим хотел сказать? знаешь, я бы мог тебя отправить тогда уж еще дальше, к документации Intel на защищенный режим процессоров... а вот то что ты привел, я так и не понял к чему это.... только еще больше укрепился в мысли что ты в этом не компетентен в этом вопросе... хотя если был бы компетентен, то не задавал бы... но тогда причем тут выдержка, которую ты привел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 09:06 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
Разговор идет об функции 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 09:14 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
я в курсе и об этой функции и о десятке других. и уж догадываюсь каким образом запускается функция потока... в моем сервисе сейчас дружат около 4 явных, постоянных потоков и фигова туча тех кто появляется и исчезает при возникновении различных событий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 10:06 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
Мне нужно запустить не 4 и не 10 потоков а более 2000 каким образом это осуществить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 10:16 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
2000... а зачем? можно полюбопытствовать? если такой зверинец глюкнет, то будут большие проблемы.... ОЧЕНЬ большие проблемы.... тогда в твоем случае актуально у меньшение размера стека.... всеж при стандартном размере это будет 2 гига памяти... только всеж... поделись секретом, зачем? более того, ты в курсе что существуют накладные расходы на переключение между потоками? на 2000 потоках это будет очень даже актуально... я думаю эт будет один великий тормоз, а не приложение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 11:14 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
<<я думаю эт будет один великий тормоз, а не приложение>> Не для 8 процесорной системы А приложение всего лишь нейросимулятор Если ты знаешь как это осуществить (оптимальный размер стека для потоковой функции), дай совет, а иначе нечего и любопытствовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 11:36 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
как расчитать я знаю но извини, с тобой не хочется делится!!! тебе надо помимо всего прочего научится общаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 11:44 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
Да, а помоему ты только и делал, что на меня наезжал. Вопрос закрыт, ответ поищу в другом месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 11:53 |
|
||
|
Размер стека для потока
|
|||
|---|---|---|---|
|
#18+
2 Silent_Sasha >> <<я думаю эт будет один великий тормоз, а не приложение>> > Не для 8 процесорной системы думаю даже и для такой... так ведь совет был сразу дан... почитай повнимательней первый ответ... да и второй тоже к месту, хотя резковато.... и я думаю, надо всеми путями стараться уменьшить и не увеличивать число создаваемых потоков. это также та же самая область... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2003, 12:50 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32260783&tid=2036026]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 364ms |

| 0 / 0 |
