Вниз
Скачать: CL | DM;

Размер стека потока   Найти похожие ветки 

 
AndyDN   (2002-10-28 12:21) [0]

Привет всем.
Вот прочитал статью о производительности многопоточных программ
( http://rsdn.ru/article/default.asp?baseserv/liveobj.xml ).
В ней сказано, что при создании потока ему по умолчанию выделяется 1 мегабайт стека. Как в делфях уменьшить это значение (если я пользуюсь TThread)?


 
MBo ©   (2002-10-28 12:32) [1]

Если это действительно так необходимо, создай наследника от TThread, в конструкторе которого вызывай BeginThread не с 0 (тогда размер стек такой же, как у вызывающего (обычно главного) потока, по умолчанию $00100000), а с нужным параметром


 
AndyDN   (2002-10-28 12:43) [2]

Спасибо!


 
AndyDN   (2002-10-28 12:52) [3]

А что делать с private переменными и Create от TObjecta

constructor TThread.Create(CreateSuspended: Boolean);
var
Flags: DWORD;
begin
inherited Create;
AddThread;
FSuspended := CreateSuspended;
Flags := 0;
if CreateSuspended then Flags := CREATE_SUSPENDED;
FHandle := BeginThread(nil, 0, @ThreadProc, Pointer(Self),Flags, FThreadID);
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-28099
Dracula
2002-11-28 11:06
2002.12.09
Формы при разном разрешении


3-27900
lva
2002-11-21 16:08
2002.12.09
Проблема с BDE, а точнее с отображением дробной части


1-27993
Тормоззз
2002-11-29 14:34
2002.12.09
Передача строк из DLL в форму


3-27839
alcat
2002-11-20 17:08
2002.12.09
Хочется в 20 раз быстрее......


3-27908
Гарик
2002-11-21 15:56
2002.12.09
Tdbgrid




   Наверх