Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TThread.Synchronize без обработки сообщений. / 7 сообщений из 7, страница 1 из 1
10.12.2020, 17:52
    #40026486
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TThread.Synchronize без обработки сообщений.
Есть приложение - служба.
У неё основная процедура TService.ServiceExecute. В ней есть некий цикл, для простоты возьмём
Код: pascal
1.
2.
3.
4.
5.
6.
7.
procedure TDSService.ServiceExecute(Sender: TService);
begin
  ...
  while not FStopRequired do
    DoSomething;
  ...
end;


Вопрос: что мне надо добавить в этот цикл, чтобы я в других потоках мог использовать TThread.Synchronize() ?..
...
Рейтинг: 0 / 0
10.12.2020, 18:10
    #40026489
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TThread.Synchronize без обработки сообщений.
Ничего. Дельфийский TService сам по себе запускает твою процедуру в отдельном потоке, пока
главный обрабатывает сообщения и прочую фигню.

Это, конечно, глупость, но так уж спроектирована VCL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.12.2020, 20:50
    #40026604
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TThread.Synchronize без обработки сообщений.
Dimitry Sibiryakov,

Ок, а в случае консольного приложения, например?

И правильно ли я понял, что TThread.Synchronize будет выполнен не в том потоке , в котором выполняется Execute() ?
А если я в Execute() к БД подключаюсь - как мне тогда остальные потоки с этим коннектом синхронизировать?
...
Рейтинг: 0 / 0
10.12.2020, 22:54
    #40026627
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TThread.Synchronize без обработки сообщений.
alekcvpа в случае консольного приложения, например?

А вот в этом случае тебе облом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.12.2020, 08:40
    #40026683
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TThread.Synchronize без обработки сообщений.
alekcvp,

21989222
...
Рейтинг: 0 / 0
11.12.2020, 09:07
    #40026689
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TThread.Synchronize без обработки сообщений.
kealon(Ruslan)
alekcvp,
21989222


Т.е. я правильно понял, что надо просто вызывать CheckSynchronize периодически и всё?
...
Рейтинг: 0 / 0
11.12.2020, 09:17
    #40026691
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TThread.Synchronize без обработки сообщений.
alekcvp,

да
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TThread.Synchronize без обработки сообщений. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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