|
|
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
YuRockalekcvpпропущено... Кстати, а чем вы так синхронайз не любите? Они же вроде, в последних версиях, их переделали?Не знаю, что там сейчас, но тем, что до D7, пользоваться было нельзя по большому ряду причин. К счастью, в этом и нет никакой необходимости. Стандартный набор граблей synchronize можно увидеть и самому, посмотрев реализацию, ну например: 1. Вызов synchronize навсегда зависнет, если его вызвать до Application.Run; 2. Навсегда зависнет, если вообще и не планировался вызов Application.Run (dll, консоль,...); 3. Навсегда зависнет, если работает еще один цикл обработки сообщений, запущенный при обработке сообщения в Application.Run; 4. Невозможность управления потоками, висящими на synchronize. Другие методы синхронизации дают такую возможность. Первые три пункта далеко не всегда зависят от разработчика. Поэтому если кто-то наговнокодил с synchronize - другим приходится мучиться или переделывать. какие страсти-то )))) а ведь работало и работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 21:16 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
YuRock3. Навсегда зависнет, если работает еще один цикл обработки сообщений, запущенный при обработке сообщения в Application.Run;* Не через делфовый HandleMessage. Либо через него, но из dll. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 21:17 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
defecatorкакие страсти-то )))) а ведь работало и работаетУгу. Достаточно часто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 21:18 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
YuRockdefecatorкакие страсти-то )))) а ведь работало и работаетУгу. Достаточно часто. не буду спорить у каждого свой опыт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 21:23 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
Есть же ещё асинхронный метод TThread.Queue . Сам его вроде не использовал, обычно посылаю сообщения, но кто-то в этом форуме (Дельфи) его несколько раз упоминал, я собственно так и узнал о его существовании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 22:18 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
s62Есть же ещё асинхронный метод TThread.Queue . Сам его вроде не использовал, обычно посылаю сообщения, но кто-то в этом форуме (Дельфи) его несколько раз упоминал, я собственно так и узнал о его существовании.Я упоминал. Хорошая замена из коробки synchronize-ам и PostMessage-ам в 90% случаев. Используется в наших визуальных компонентах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 23:05 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
white_nigger, из минусов - несинхронная. не всегда удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 00:37 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
Любую несинхронную вещь можно сделать синхронной. Обратное сделать сложнее. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 00:44 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
При выполнении в главном потоке насколько я понимаю, Queue выполняется сразу как обычный кусок кода. А несинхронность это как раз и есть то, для чего это используется, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 10:00 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
s62Есть же ещё асинхронный метод TThread.Queue Не смотрел. Подозреваю, что это тот же Synchronize, только без ожидания выполнения. Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 14:41 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
YuRocks62Есть же ещё асинхронный метод TThread.Queue Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда. Посмотрел код Synchronize в XE2 - вообще не понял, каким образом он может зависеть от Application.Run, в отличие от того же SendMessage... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 15:02 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
alekcvpYuRockпропущено... Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда. Посмотрел код Synchronize в XE2 - вообще не понял, каким образом он может зависеть от Application.Run, в отличие от того же SendMessage... Плохо ведь смотрел... А в Forms.TApplication.Idle заглядывал? А в Classes.CheckSynchronize? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 15:22 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, думаю, что PostMessage или Synchronize будет проще чем TThread.Queue + 'ручная' синхронизация. случаи, конечно, всякие бывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 15:31 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
ИМХО, вообще корявые методы, и либо название неправильное дали или запихнули не туда проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 16:31 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ... имхо, в последнее время половина топиков в этой ветке заканчивается именно этими выводами. Неужели все так плохо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:16 |
|
||
|
2 цикла в потоке сжирают память
|
|||
|---|---|---|---|
|
#18+
оторванные рукиkealon(Ruslan)проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ... имхо, в последнее время половина топиков в этой ветке заканчивается именно этими выводами. Неужели все так плохо? Ну так это вполне логично. Ведь Дельфи давно мёртв (с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:45 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2041361]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 369ms |

| 0 / 0 |
