Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

А кто за статьи на этом сайте отвечает?   Найти похожие ветки 

 
Григорьев Антон ©   (2004-07-04 07:29) [0]

Тут многие справедливо ругают Архангельского за его идиотский совет засовывать код нити в Synchronize, а в разделе "Статьи" лежит статья Кариха Николая http://www.delphimaster.ru/articles/thread/ с тем же советом. Может, убрать её оттуда? А то я тут недавно общался с человеком, который делал нити, руководствуясь этой статьёй. Пришлось переубеждать.


 
peypivo ©   (2004-07-04 07:48) [1]

а чего стоят его советы, при установке БДЕ просто переписывать
файлы в папку с программой!!!


 
MBo ©   (2004-07-04 08:11) [2]

>Григорьев Антон
Это верно. Статья дезориентирующая, лежит здесь очень давно. К сожалению, кроме нее, работа с потоками описана только в статье Панова о мониторинге файловой системы, но, вероятно, туда начинающие не заглядывают, поскольку основная ее тема  о другом.


 
Nous Mellon ©   (2004-07-04 09:21) [3]


>  [2] MBo ©   (04.07.04 08:11)

А разве здесь не было отличного отрывка из Тейксера и Пачеко на эту тему?


 
MBo ©   (2004-07-04 09:38) [4]

>Nous Mellon
Есть (на последней странице Статей), но туда, думаю, тоже редко заглядывают.


 
Nous Mellon ©   (2004-07-04 10:23) [5]


> Есть (на последней странице Статей), но туда, думаю, тоже
> редко заглядывают.

Ну если ленятся то значит и не надо :)


 
TUser ©   (2004-07-04 13:34) [6]


> но, вероятно, туда начинающие не заглядывают, поскольку
> основная ее тема  о другом

Да нет, заглядываем. А про потоки в Delphi написано у ТП, который есть най сайте у Анатолия, любой может туда сходить.
А то, что в статьях ошибки - это неизбежно. Но раз фишка обнаружена, то, наверное, лучше убрать/отредактировать


 
jack128 ©   (2004-07-04 14:23) [7]


> А кто за статьи на этом сайте отвечает?
я думаю, кто то в районе adm@delphimaster.ru


 
iZEN ©   (2004-07-04 18:39) [8]

Удалено модератором
Примечание: Следи за речью...


 
dmitry99 ©   (2004-07-05 15:46) [9]

Я думаю, что ниже(выше) текста самой статьи сделать замечание об обнаруженых неточностях.


 
Esu ©   (2004-07-05 17:41) [10]

да уж, интерестная статья... И чем автора таймеры не устраивали если весь код один фиг в основном потоке выполняется ;)


 
Тимохов ©   (2004-07-05 17:42) [11]

да, от этой статьи я тоже опух


 
Тимохов ©   (2004-07-05 17:43) [12]

но не пострадал :)


 
iZEN ©   (2004-07-05 18:32) [13]

Удалено модератором


 
Тимохов ©   (2004-07-05 18:33) [14]


> iZEN ©   (05.07.04 18:32) [13]

глаза вправо-ввех
конвертик видишь?


 
iZEN ©   (2004-07-05 18:40) [15]

to Тимохов ©   (05.07.04 18:33) [14].
Выслал запрос.

to topic:
Повторюсь, статья правильная в отношении потоконебезопасных компонентов VCL и обращении к ним из нескольких нитей.


 
Игорь Шевченко ©   (2004-07-05 18:45) [16]


> Повторюсь, статья правильная


Какая статья имеется в виду: с примером в Execute состоящим из вызова Syncronize(DoSomething) ?


 
iZEN ©   (2004-07-05 20:26) [17]

Игорь Шевченко ©   (05.07.04 18:45) [16]
Да. А что не так для случая с VCL?


 
Григорьев Антон ©   (2004-07-06 10:38) [18]


> iZEN ©   (05.07.04 20:26) [17]
> Игорь Шевченко ©   (05.07.04 18:45) [16]
> Да. А что не так для случая с VCL?


А то, что тогда создание нити вообще теряет смысл. Потому что всё, что делает такая нить - это помещает в очередь главной нити сообщение о необходимости выполнить процедуру из Synchronize, потом ждёт, когда главная нить это сообщение обработает, т.е. выполнит процедуру, а потом сразу завершается. Ну и где логика? Проще было бы сразу выполнить эту процедуру в главной нити, не создавая никаких дополнительных.


 
iZEN ©   (2004-07-06 19:52) [19]

Так ведь иллюстрация высокоуровневого алгоритма "много производителей - один потребитель" вполне корректна - так и должно быть, несмотря на аналогичный результат с прямым обращением из системной нити.
Кто по-настоящему "видит" системную нить? ;))
А здесь[в статье], на тебе: всё чудненько проворачивается, даже приоритеты можно выставить и кое-чему научиться (правильно работать с нитями на низком уровне).


 
Rouse_ ©   (2004-07-06 20:59) [20]

> так и должно быть, несмотря на аналогичный результат с прямым
> обращением из системной нити

И опять ошибка...
Такой результат без использования "извращений Архангельского" © при нормальном построении логики приложения мы никогда не достигнем...

> даже приоритеты можно выставить
А смысл?

> и кое-чему научиться (правильно работать с нитями на низком
> уровне).

Чур меня...


 
Mim1 ©   (2004-07-08 19:38) [21]

[19] iZEN ©   (06.07.04 19:52)

Мдя вы видно ничего не понимаете? Расскажите ка как по вашему - зачем нужны потоки?

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

Теперь давайте попробуйем сэмулировать эту ситуацию с примером из статьи? Поставим вместо http запрса sleep(10000); и запустим (эту процедуру размещаем внутри метода dosome, и выполняем через syncronize).
Приложение виснет. Теперь тоже самое пишем в execute и не используем никаких sincronize. Не виснет.

Да действительно если обращаемся к обьектам vcl то sincronize уместен, но если кроме этого ничего не делаем то зачем нужен поток ([18])?



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

Форум: "Потрепаться";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.038 c
14-1089085236
jb
2004-07-06 07:40
2004.07.25
Чего бы плохого шефу сделать


1-1089656208
Satan
2004-07-12 22:16
2004.07.25
Алгоритм поиска простых чисел порядка 2**128 и выше


3-1088765847
Nikolai_S
2004-07-02 14:57
2004.07.25
Как записать в поле binary файл и потом считать его обратно?


3-1088411549
MORA
2004-06-28 12:32
2004.07.25
InterBase SERVER


3-1088612901
3APA3A
2004-06-30 20:28
2004.07.25
Зачем нужены курсоры?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский