Форум: "Потрепаться";
Текущий архив: 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.027 c