Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CreateThread-очередной глупый вопрос


Страницы:   1 2

sergeiA ©   (2005-02-01 09:02:00) 

Как передать параметр функции? Делаю так:

var
 a:Cardinal;
 
ThreadProc(Lp:Cardinal):Cardinal;
begin
//
end;

вызываю:

CreateThread(nil,0,@ThreadProc,Pointer(a),0,id);

Нить запускается, но из процедуры я никак не могу увидеть то что ей передавал. Что я не так делаю?


kaZaNoVa   (2005-02-01 13:39:00) [1]

я раньше Креате..  юзал .. ща на Бегин.. "подсел", не жалею))

однако иногда всё-же надо юзать Креате .. ))


Digitman   (2005-02-01 13:06:00) [2]


> VsInLg   (01.02.05 12:41) [24]


еще раз - ДУРЬЮ не майся.
есть MSDN.
есть Борланд, который в случае генерации исп.кода под ОС от Майкрософт - никуда от MSDN ..


VsInLg   (2005-02-01 12:41:00) [3]

Друг мой // смотреть в словаре...


Digitman   (2005-02-01 12:35:00) [4]


> VsInLg   (01.02.05 12:30) [22]
> А вот оскорблять меня тебе никто такого права не давал


равно как и тебе никто не давал права публично меня в "друзья" записывать.

а getmem.inc все же изучи.
до полного просветления.
после этого и подискутируем.
Ок ?


VsInLg   (2005-02-01 12:30:00) [5]

А вот оскорблять меня тебе никто такого права не давал. Если общаешься в форумах, то будь так любезен вести себя корректно, здесь обсуждаются вопросы связанные с программированием, а не с личностными качествами по исключительно субъективному мнению. Если не можешь себя нормально вести, то за чем это всем показывать?
Думаешь, что мне от этого обидно будет? Каждый может про любого написать что угодно, и это будет абсолютно безнаказанно, за исключением того, что некоторые слова не пройдут.
Может хочешь мне это в лицо сказать?...


Digitman   (2005-02-01 12:11:00) [6]


> VsInLg


чудик, ты в исх.тексты Борланда хоть смотрел хоть раз, а ?


Digitman   (2005-02-01 12:06:00) [7]


> Набережных С   (01.02.05 11:46) [17]


хорошая ассоциация... уместная) ..


Digitman   (2005-02-01 12:05:00) [8]


> VsInLg   (01.02.05 11:24) [13]
> Друг мой, Digitman!


чей-то ты меня в "друзья" записал ?


> кто тебе сказал, что борланд сам управляет памятью?


сам Борланд мне и сказал.
в виде исх.текстов.

а тебе, видимо, Борланд ничего не сказал.
Или ты исх.тексты его не умеешь читать, за незнанием букв ..


> Или же все приложения скомпилированные им сидят на нулевом
> кольце?


какое нафих "нулевое кольцо" ? ты о чем, сударь ?).. это из иной оперы !


> Все таки советую открыть CPU и посмотреть, что там происходит


ты дурью-то не майся !
я тебе дал ссылку на модуль, где исп-ся идент-р IsMultiThread.
ЧТО тебе еще не понятно ?


> И приложению подвластно все и вся?


если приложение использует документированные возможности системы - нет, не все.


Макс   (2005-02-01 11:49:00) [9]

не ребята, свои проблемы решайте сами. мож кто знает что такое прагматизм?


Набережных С   (2005-02-01 11:46:00) [10]

>VsInLg   (01.02.05 11:43) [15]

Булгакова читал? Шарикова напоминаешь в сцене за обедом. Ну там, где про этого...как его...Энгельса с этим...да чтоб его...Каутским. Извини за прямоту.


Erik1   (2005-02-01 11:45:00) [11]

to VsInLg
Ты чего совсем ничего непонипаеш или под дурачка косиш?


VsInLg   (2005-02-01 11:43:00) [12]

>Набережных С
Забавно!!! Советую не советовать... хм
Можно пополнять список крылатых выражений, особенно армейских


Набережных С   (2005-02-01 11:40:00) [13]

>VsInLg   (01.02.05 11:24) [13]
>Все таки советую

Советую поменьше советовать, и побольше слушать и думать.


VsInLg   (2005-02-01 11:24:00) [14]

Друг мой, Digitman! А кто тебе сказал, что борланд сам управляет памятью? Или же все приложения скомпилированные им сидят на нулевом кольце? И приложению подвластно все и вся? Все таки советую открыть CPU и посмотреть, что там происходит...


Digitman   (2005-02-01 11:18:00) [15]


> VsInLg


в окно CPU даже заглядывать не нужно

вот фрагмент getmem.inc

function SysGetMem(size: Integer): Pointer;
// Allocate memory block.
var
 f, prev, next: PFree;
 u: PUsed;
begin
...
 try
   if IsMultiThreadthen EnterCriticalSection(heapLock);
...

использование крит.секции видишь ?
вот она-то и синхронизирует операции с памятью, если IsMultiThread = TRUE


Digitman   (2005-02-01 11:10:00) [16]


> эта переменная меняет принцип WIN32 системы взаимодействия
> со стеком нитей


при чем здесь WIN32 и стеки нитей ?

ты вообще понимаешь концепцию, назначение, принцип работы/использования/взаимодействия с win32-кучами   борландовского менеджера памяти ?


VsInLg   (2005-02-01 10:59:00) [17]

>Digitman
Такой тебе пример: поставь эту переменную в тру и наоборот запусти пошагово приложение, открой CPU и посмотри что измениться. Если ты скажешь что дело не в коде, а меняется принцип, то ты хочешь сказать, что эта переменная меняет принцип WIN32 системы взаимодействия со стеком нитей(твоих тредов)...


Digitman   (2005-02-01 10:54:00) [18]


> Слышал звон, да не знаю о чем он


о чем "звон" - о том, кстати, в станд.справке подробно написано


Digitman   (2005-02-01 10:51:00) [19]


> VsInLg   (01.02.05 10:33) [7]


значение этой переменной используется стандартным встроенным ран-тайм менеджером памяти от Борланда

если IsMultiThread = TRUE, менеджер безусловно синхронизирует (выполняет последовательно) операции по распределению/перераспределению/освобождению памяти (SysGetMem/SysReallocMem/SysFreemem) .. эти операции могут быть запрошены (явно или неявно) в произвольные моменты времени любым из трэдов процесса приложения, при IsMultiThread = FALSE вероятность конфликтов одновременно запрошенных операций заведомо ненулевая, при IsMultiThread = TRUE конфликты исключены.


VsInLg   (2005-02-01 10:33:00) [20]

Переменная такая есть, Да. Но на ее изменение не только ничего не влияет, а даже ни одна функция ее не использует.

>она - вот в этой строчке:
>IsMultiThread := TRUE

как говориться: "Слышал звон, да не знаю о чем он"


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо