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

Вниз

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

 
Григорьев Антон ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.044 c
14-1089114335
Григорьев Антон
2004-07-06 15:45
2004.07.25
Нужны оппоненты для диссертации


14-1089207209
Алхимик
2004-07-07 17:33
2004.07.25
Опрос :)


1-1089801256
r0bert
2004-07-14 14:34
2004.07.25
проблема с запоминанием размеров окна


1-1089288055
msdn
2004-07-08 16:00
2004.07.25
Перехват системнго меню


1-1089697212
Константин2000
2004-07-13 09:40
2004.07.25
USB принтер программируем