|
Языки программирования семейства Pascal / Про многопоточность подскажите
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2024, 14:39 |
|
Языки программирования семейства Pascal / Про многопоточность подскажите
|
|||
---|---|---|---|
#18+
WaitForSingleObject можно ждать с таймаутом - опрашивая. Ну в щем надо какую-то пилить костыльную синхронизацию полюбому... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2024, 18:48 |
|
Языки программирования семейства Pascal / Про многопоточность подскажите
|
|
---|---|
#18+
в службе реализовывать обработку сообщений как в окне WinApi - не знаю, такая спорная имхо идея. Окно - оно и живёт за счёт этого цикла. А служба другим должна заниматься. Ну и тем более такой тяжеловесный механизм использовать для общения между потоками - плохо имхо. Из пушки по воробьям. у них же и так общая память. Мессаги - это IPC для общения между окнами windows и между визуальными приложениями. Потоки должны общаться через критически секции - вошел в неё , проверил, не пришло ли что-то, забрал, флаг снял, поехал далее. Так будет наивысшая производительность достигнута. ... |
|
:
|
|
01.04.2024, 18:55 |
|
Языки программирования семейства Pascal / Про многопоточность подскажите
|
|||
---|---|---|---|
#18+
Ну и тем более такой тяжеловесный механизм использовать для общения между потоками - плохо имхо. Неизвестно, что за служба у Просто Трепа и что за обмен данными там между потоками. p.s. Один раз - сообщения от потока в другой доп. поток, так что там цикл обработки сообщений делали. А из доп. потока в основной поток GUI приложения передавать данные через PostMessage или оповещать через это, так это много раз использовал, это по-моему удобно. Ну со службами тут другая история. Это же как раз преимущество потоков. Всего-то для них структуру в памяти организовать, таблицу, куда можно - добавить поток, добавить для него очередь сообщений. и через эту очередь общаться, используя CriticalSection. Это именно для потоков - классика. ... |
|||
:
Изменено: 01.04.2024, 19:08 - IT-Клоп
Нравится:
Не нравится:
|
|||
01.04.2024, 19:08 |
|
Языки программирования семейства Pascal / Про многопоточность подскажите
|
|||
---|---|---|---|
#18+
Для паттернодрочеров - это паттерн Observer, где поток может подписаться на сообщения себе. Единственное - проверку надо в потоке костылить, это да. потому цикл придётся делать - для проверки очереди. Надо смотреть, что за задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2024, 19:12 |
|
|
Start [/forum/search.php?do_search=1&tid=16781&author_mode=wrote_post&author=IT-%D0%9A%D0%BB%D0%BE%D0%BF&start_from=749100]: |
0ms |
get settings: |
0ms |
get forum list: |
5ms |
searching: |
8ms |
get settings: |
0ms |
get forum list: |
4ms |
get topic data: |
2ms |
check forum access: |
0ms |
check topic access: |
0ms |
get forum data: |
0ms |
get found posts: |
17ms |
track hit: |
29ms |
get online users: |
48ms |
check new: |
4ms |
others: | 302ms |
total: | 419ms |
0 / 0 |