![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Размер стека потока [D5, WinXP]
AndyDN © (2002-10-28 12:21:00)Привет всем.
Вот прочитал статью о производительности многопоточных программ
( http://rsdn.ru/article/default.asp?baseserv/liveobj.xml).
В ней сказано, что при создании потока ему по умолчанию выделяется 1 мегабайт стека. Как в делфях уменьшить это значение (если я пользуюсь TThread)?
AndyDN (2002-10-28 12:52:00) [1]А что делать с 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;
AndyDN (2002-10-28 12:43:00) [2]Спасибо!
MBo (2002-10-28 12:32:00) [3]Если это действительно так необходимо, создай наследника от TThread, в конструкторе которого вызывай BeginThread не с 0 (тогда размер стек такой же, как у вызывающего (обычно главного) потока, по умолчанию $00100000), а с нужным параметром