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

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

вопросик по Tthread [D7, XP]


antonn ©   (2008-08-13 23:48:00) 

Сомнения гложат :)
procedure TFindMapThumbThread.Execute;
begin
 FreeOnTerminate:=True;
 _MIn:=TMemoryStream.Create;
 try
   Synchronize(BackList);
 finally
   _MIn.Free;
 end;
end;

вопрос - я могу в функции вызываемой в Synchronize использовать _MIn? _MIn убивается только после возврата из Synchronize?


Anatoly Podgoretsky   (2008-08-14 16:42:00) [1]

Своим поведением ты закладываешь будущее к тебе отношение.
Не удивляйся потом.


antonn   (2008-08-14 16:28:00) [2]

Я не получил по помидоры, на данный момент я вижу оправдания промашки легкой язвительности. То, что кто то захотел найти в моем коде то, что ему захотелось - это ведь не моя вина, так? :)
особенно учитывая тот факт, что к вопросу это дело ни разу не касается... это вроде называется "оффтоп" :)

ладно, слив засчитан, проехали, не буду больше донимать владельцев сломаных телепаторов :)


Anatoly Podgoretsky   (2008-08-14 16:23:00) [3]

> antonn  (14.08.2008 16:19:17)  [17]

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


antonn   (2008-08-14 16:19:00) [4]


> В коде должно быть как минимум в виде комментария

не должно.
приведеный код лишь иллюстрирует когда создается и убивается объект, и где используется, никаких "прочих" обработок, они не входят в вопрос и ни коим образом не влияли на поведение объекта, и поэтому были опущены.
ничего более. никаких вопросов по выполняемой работе данного кода нет, засим "прочая обработка" была бы лишним текстом.


Anatoly Podgoretsky   (2008-08-14 16:09:00) [5]

Строго по Архенгельскому, весь код выполняется в основном потоке.
И отговорка, мол у меня код другой не проходит, мы можем обсуждать только приведеный код. В коде должно быть как минимум в виде комментария  // прочая обработка, и не сейчас в начальном сообщение, иначе бы тебя не причислили к лику почитателей Архангельского.
Пока нет другого кода, то и обсуждать нечего.


antonn   (2008-08-14 15:08:00) [6]


> Palladin ©   (14.08.08 14:57) [14]

я понял, почему Герман Архангельского вспомнил, говорю - наслышан :)
Анатолий усомнился, мой ли это код, он видел "строго такой же код", прошу его показать где именно. Ну вот дело принципа, вот такой я проблемный на логику, как он сам говорил не раз :)


Palladin   (2008-08-14 14:57:00) [7]


> antonn ©   (14.08.08 13:45) [12]

В принципе, Архангельский тут вообще нипричем. Просто он знаменит своим примером "война потоков". Дело все в абсолютной безсмысленности потока, в котором испольняется только назначение переменной и создание/удаление экземпляра класса, больше в нем ничего не делается.


Сергей М.   (2008-08-14 14:44:00) [8]


> antonn ©   (14.08.08 13:45) [12]


на месте synchronize может быть все что угодно - на логику работы блока try..finally содержимое защищаемого им фрагмента никак не влияет.


antonn   (2008-08-14 13:45:00) [9]

господа, я же говорю, код в сабже должен был показать только на то, что класс создается и убивается в execute, и используется в Synchronize(), то, что именно в таком виде код несколько туповат - это и так ясно, не надо блестать эрудицией там, где оно не надо, особенно после уточнений [2] :)


> Григорьев Антон ©   (14.08.08 11:26) [11]

да, я видел, но эта "статья" подана изначально с запахом предвзятости и высокомерным снисхождением, с вырваными цитатами и без объяснения причин негодования (ну я понимаю, но все же...), не читаемо.
да и нет у меня привычки после прочтения книжки делать все именно так, как там написано, потому и листаю все подряд.
И были времена, когда Архангельского тут так не пинали, в рекомендуемую литературу советовали...

Анатолий, я сейчас могу показаться буквоежкой - скажите главу где код приведеный мной "строго из Архангельского", раз уж так дело повернулось.


Григорьев Антон   (2008-08-14 11:26:00) [10]


> antonn ©   (14.08.08 00:14) [2]
> > Решпект Архангельскому и К° :)
> >
>
> не знаю, не читал.

Первоисточник можно не читать :) Достаточно этого: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1082


Anatoly Podgoretsky   (2008-08-14 09:21:00) [11]


> ну то, что я не читал Архангельского

Сомнение гложет, код строго из Архангельского и точно такой же бессмысленный.


Loginov Dmitry   (2008-08-14 07:59:00) [12]

> Нафига нужен такой Thread, если всё что он делает выполняется
> в Synchronize в контексте основного потока?


+1.

В данном случае доп. поток не нужен.


antonn   (2008-08-14 01:07:00) [13]


> Судя по смайликам ты наслышан о вредоносной сути Архангельского
> и Фленова.

наслышан, местами начитан, и ничего, жив :)

в принципе, если бы у меня выше был бы не TMemoryStream, а какой нибудь класс, производящий кучу длительных и ресурсоемких операций при создании, то код прям в том виде имел бы смысл...


> Скрывается. Метод скрывается.

в контексте топика. Или я нашел намек там, где его небыло...


Германн   (2008-08-14 00:59:00) [14]


> antonn ©   (14.08.08 00:50) [6]
>
> ну то, что я не читал Архангельского еще не значит, что
> я не знаю как работает Synchronize :)
> да, спасибо за совет, почитаю. И про Synchronize, и Архангельского.
>  Вот недавно просматривал "дельфи глазами хакера", интересно
> в общем то, когда находишь что нибудь... странное... прям
> радость берет - значит хоть что то понимаю :)
>

Судя по смайликам ты наслышан о вредоносной сути Архангельского и Фленова. Или я ошибаюсь?


> или за советом почитать про Synchronize что то все же скрывается?

Скрывается. Метод скрывается.


antonn   (2008-08-14 00:50:00) [15]

ну то, что я не читал Архангельского еще не значит, что я не знаю как работает Synchronize :)
да, спасибо за совет, почитаю. И про Synchronize, и Архангельского. Вот недавно просматривал "дельфи глазами хакера", интересно в общем то, когда находишь что нибудь... странное... прям радость берет - значит хоть что то понимаю :)

или за советом почитать про Synchronize что то все же скрывается?


Германн   (2008-08-14 00:46:00) [16]


> antonn ©   (14.08.08 00:14) [2]
>
> не вводите меня в заблуждение, пожалуйста :)
>
> > И правильно гложат. Только не по тому поводу гложат.
>
> нет, меня гложат именно по тому, что я изложил в нулевом
> посте.
> мне казалось, что если я выложу полный листинг Execute то
> это будет несколько глупо, поэтому я подсократил эту процедурку
> :)
>
>
> > Решпект Архангельскому и К° :)
> >
>
> не знаю, не читал.
>

Хорошо что не читал Архангельского.
Но про метод Synchronize всё же почитай справку. Пригодится на будущее.


antonn   (2008-08-14 00:26:00) [17]

спасибо


DVM   (2008-08-14 00:25:00) [18]


> _MIn убивается только после возврата из Synchronize?

да


antonn   (2008-08-14 00:14:00) [19]

не вводите меня в заблуждение, пожалуйста :)

> И правильно гложат. Только не по тому поводу гложат.

нет, меня гложат именно по тому, что я изложил в нулевом посте.
мне казалось, что если я выложу полный листинг Execute то это будет несколько глупо, поэтому я подсократил эту процедурку :)


> Решпект Архангельскому и К° :)
>

не знаю, не читал.


Германн   (2008-08-14 00:09:00) [20]


> antonn ©   (13.08.08 23:48)
>
> Сомнения гложат :)
>

И правильно гложат. Только не по тому поводу гложат. Нафига нужен такой Thread, если всё что он делает выполняется в Synchronize в контексте основногопотока?
Решпект Архангельскому и К° :)


Наверх

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