Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1218163234
Slider007
2008-08-08 06:40
2008.09.28
С днем рождения ! 8 августа 2008 пятница


15-1217925962
DoKi
2008-08-05 12:46
2008.09.28
рассчёт нормалей


2-1219006228
fog
2008-08-18 00:50
2008.09.28
трудности перевода С


15-1217707518
Дед
2008-08-03 00:05
2008.09.28
У кого есть идеи, как отрезать делфи2007 от .Net?


15-1218179922
Псалтырь
2008-08-08 11:18
2008.09.28
overload для одного только метода





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский