powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / 2 цикла в потоке сжирают память
16 сообщений из 41, страница 2 из 2
2 цикла в потоке сжирают память
    #39580698
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
YuRockalekcvpпропущено...

Кстати, а чем вы так синхронайз не любите? Они же вроде, в последних версиях, их переделали?Не знаю, что там сейчас, но тем, что до D7, пользоваться было нельзя по большому ряду причин. К счастью, в этом и нет никакой необходимости.
Стандартный набор граблей synchronize можно увидеть и самому, посмотрев реализацию, ну например:
1. Вызов synchronize навсегда зависнет, если его вызвать до Application.Run;
2. Навсегда зависнет, если вообще и не планировался вызов Application.Run (dll, консоль,...);
3. Навсегда зависнет, если работает еще один цикл обработки сообщений, запущенный при обработке сообщения в Application.Run;
4. Невозможность управления потоками, висящими на synchronize. Другие методы синхронизации дают такую возможность.

Первые три пункта далеко не всегда зависят от разработчика. Поэтому если кто-то наговнокодил с synchronize - другим приходится мучиться или переделывать.
какие страсти-то ))))
а ведь работало и работает
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580700
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock3. Навсегда зависнет, если работает еще один цикл обработки сообщений, запущенный при обработке сообщения в Application.Run;*
Не через делфовый HandleMessage.
Либо через него, но из dll.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580701
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorкакие страсти-то ))))
а ведь работало и работаетУгу. Достаточно часто.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580704
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
YuRockdefecatorкакие страсти-то ))))
а ведь работало и работаетУгу. Достаточно часто.
не буду спорить
у каждого свой опыт
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580716
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть же ещё асинхронный метод TThread.Queue . Сам его вроде не использовал, обычно посылаю сообщения, но кто-то в этом форуме (Дельфи) его несколько раз упоминал, я собственно так и узнал о его существовании.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580736
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s62Есть же ещё асинхронный метод TThread.Queue . Сам его вроде не использовал, обычно посылаю сообщения, но кто-то в этом форуме (Дельфи) его несколько раз упоминал, я собственно так и узнал о его существовании.Я упоминал. Хорошая замена из коробки synchronize-ам и PostMessage-ам в 90% случаев. Используется в наших визуальных компонентах.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580764
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

из минусов - несинхронная. не всегда удобно.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580765
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любую несинхронную вещь можно сделать синхронной. Обратное сделать сложнее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580840
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При выполнении в главном потоке насколько я понимаю, Queue выполняется сразу как обычный кусок кода.
А несинхронность это как раз и есть то, для чего это используется, не?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581084
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s62Есть же ещё асинхронный метод TThread.Queue
Не смотрел. Подозреваю, что это тот же Synchronize, только без ожидания выполнения. Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581101
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRocks62Есть же ещё асинхронный метод TThread.Queue
Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда.
Посмотрел код Synchronize в XE2 - вообще не понял, каким образом он может зависеть от Application.Run, в отличие от того же SendMessage...
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581114
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpYuRockпропущено...

Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда.
Посмотрел код Synchronize в XE2 - вообще не понял, каким образом он может зависеть от Application.Run, в отличие от того же SendMessage...
Плохо ведь смотрел... А в Forms.TApplication.Idle заглядывал? А в Classes.CheckSynchronize?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581117
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

думаю, что PostMessage или Synchronize будет проще чем TThread.Queue + 'ручная' синхронизация. случаи, конечно, всякие бывают.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581159
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО, вообще корявые методы, и либо название неправильное дали или запихнули не туда

проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ...
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581236
kealon(Ruslan)проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ...
имхо, в последнее время половина топиков в этой ветке заканчивается именно этими выводами. Неужели все так плохо?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581250
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оторванные рукиkealon(Ruslan)проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ...
имхо, в последнее время половина топиков в этой ветке заканчивается именно этими выводами. Неужели все так плохо?
Ну так это вполне логично. Ведь Дельфи давно мёртв (с).
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / 2 цикла в потоке сжирают память
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]