Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Вниз
вопросик по 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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.057 c