Языки программирования семейства Pascal / Про многопоточность подскажите
|
|||
---|---|---|---|
#18+
Как-то писал многопоточное приложение, в общем и целом все получилось. Приложение было гуишным. Каждый поток создавался из своей TPanel и в нужные моменты слал ей SendMessage или PostMessage, этого хватало для полноценного обмена информацией и всяких оповещений. В результате мне даже понравилось. А как быть в сервисе или консольном приложении, где окон нет? Вот надо мне оповестить основной поток о какой-нибудь промежуточной ерунде, произошедшей в отдельном потоке. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2024, 14:23 |
|
Языки программирования семейства Pascal / Про многопоточность подскажите
|
|||
---|---|---|---|
#18+
Просто Трёп [игнорируется] Можно посылать сообщения потоку функцией PostThreadMessage. Тогда, если в потоке нет своего цикла обработки сообщений, его надо организовать при помощи например функции PeekMessage. Насчёт евентов - это хороший вариант, но надо понимать, что поток, который будет ожидать срабатывания события при помощи функции WaitForSingleObject или WaitForMultipleObjects, будет в состоянии ожидания. Службы никогда не писал (вроде, не припоминаю такого :) ) не особо представляю, что там удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2024, 15:28 |
|
Языки программирования семейства Pascal / Про многопоточность подскажите
|
|||
---|---|---|---|
#18+
А обратно? Оно в обе стороны будет работать? Насчет событий, ну в моей практике отношения между потоками обычно были несимметричными. Например один поток подготавливает какие-то данные и выдает другому, чтобы тот передал их по сети. Или один поток всё время обменивается данными с каким-то устройством и периодически или сам их выдает или у него запрашивают какие-то данные. Вот кстати со скуля один человек учебник написал несколько лет назад про многопоточность: https://github.com/loginov-dmitry/multithread/blob/master/multithread_in_delphi_for_beginners.md https://resql.ru/forum/topic.php?fid=58&tid=2036872 Правда не скажу сейчас, насколько хорошо написано, хотя начинал читать. ... |
|||
:
Изменено: 01.04.2024, 18:50 - s62
Нравится:
Не нравится:
|
|||
01.04.2024, 18:46 |
|
Start [/forum/search.php?do_search=1&replies_to=749002&author_mode=wrote_post]: |
0ms |
get settings: |
3ms |
get forum list: |
5ms |
searching: |
11ms |
get settings: |
1ms |
get forum list: |
5ms |
get found posts: |
26ms |
track hit: |
23ms |
get online users: |
66ms |
check new: |
1ms |
others: | 322ms |
total: | 463ms |
0 / 0 |