Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.28;
Скачать: CL | DM;

Вниз

вопросик по Tthread   Найти похожие ветки 

 
antonn ©   (2008-08-13 23:48) [0]

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

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


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


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

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


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

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

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

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


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

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


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


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

да


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

спасибо


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


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

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


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

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

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


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


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

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


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

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


 
antonn ©   (2008-08-14 01:07) [8]


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

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

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


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

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


 
Loginov Dmitry ©   (2008-08-14 07:59) [9]

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


+1.

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


 
Anatoly Podgoretsky ©   (2008-08-14 09:21) [10]


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

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


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


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

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


 
antonn ©   (2008-08-14 13:45) [12]

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


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

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

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


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


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


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


 
Palladin ©   (2008-08-14 14:57) [14]


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

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


 
antonn ©   (2008-08-14 15:08) [15]


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

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


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

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


 
antonn ©   (2008-08-14 16:19) [17]


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

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


 
Anatoly Podgoretsky ©   (2008-08-14 16:23) [18]

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

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


 
antonn ©   (2008-08-14 16:28) [19]

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

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


 
Anatoly Podgoretsky ©   (2008-08-14 16:42) [20]

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



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

Текущий архив: 2008.09.28;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.018 c
11-1189880255
grim
2007-09-15 22:17
2008.09.28
опять про GRush


6-1193750989
Chaser
2007-10-30 16:29
2008.09.28
Аутентификация на ISA сервере


15-1216900159
keymaster
2008-07-24 15:49
2008.09.28
Кто работал с Castalia?


15-1218131612
Nic
2008-08-07 21:53
2008.09.28
Накрылся вентилятор блока питания ПК


15-1217441494
Alex_PAG
2008-07-30 22:11
2008.09.28
Удаленный рабочий стол и эмуляция клавиш