powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Потоки...
5 сообщений из 5, страница 1 из 1
Потоки...
    #39765311
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток!
У меня есть поток. В нём 1 цикл, в котором несколько запросов к вк апи.
Я бы хотел создать поток, и по завершению цикла, удалить его. Потом, при необходимости опять создать.
Подскажите, как правильно сделать?

И еще. Я запускаю поток так, при нажатии кнопки:
Код: pascal
1.
2.
  MyThread:=TMyThread.Create(False);
  MyThread.Priority:=tpNormal;



но никак не останавливаю или выключаю или удаляю...
Если я повторно нажму эту кнопку, создастся новый поток? Или этот же поток, начнет работу заново?

Запутанно всё с этими потоками, разобраться не могу....(
...
Рейтинг: 0 / 0
Потоки...
    #39765336
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tech N9neДоброе время суток!
У меня есть поток. В нём 1 цикл, в котором несколько запросов к вк апи.
Я бы хотел создать поток, и по завершению цикла, удалить его. Потом, при необходимости опять создать.
Подскажите, как правильно сделать?

И еще. Я запускаю поток так, при нажатии кнопки:
Код: pascal
1.
2.
  MyThread:=TMyThread.Create(False);
  MyThread.Priority:=tpNormal;



но никак не останавливаю или выключаю или удаляю...
Если я повторно нажму эту кнопку, создастся новый поток? Или этот же поток, начнет работу заново?

Запутанно всё с этими потоками, разобраться не могу....(
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
type
  TVkApiPage = class
  private
    function GetVkAlbums: TJSONValue;
    function GetVkContacts: TJSONValue;
    function GetVkDialogs: TJSONValue;
  public
    function GetVkPage: TJSONValue;
  end;

implementation

{ TVkApiPage }

function TVkApiPage.GetVkAlbums: TJSONValue;
begin
  // Получаем альбомы
end;

function TVkApiPage.GetVkContacts: TJSONValue;
begin
  // Получаем контакты
end;

function TVkApiPage.GetVkDialogs: TJSONValue;
begin
  // Получаем диалоги
end;

function TVkApiPage.GetVkPage: TJSONValue;
begin
  var VkAlbumsTask := TTask.Future<TJSONValue>(GetVkAlbums); // будет выполнятся в отдельном потоке
  var VkContactsTask := TTask.Future<TJSONValue>(GetVkContacts); // будет выполнятся в отдельном потоке
  var VkDialogsTask := TTask.Future<TJSONValue>(GetVkDialogs); // будет выполнятся в отдельном потоке
  // тут еще какой-нибудь код пока выполняются наши запросы к API
  var VkAlbums := VkAlbumsTask.Value; // тут получим ответ если он уже пришел или подождем если еще не пришел
  var VkContacts := VkContactsTask.Value; // тут получим ответ если он уже пришел или подождем если еще не пришел
  var VkDialogs := VkDialogsTask.Value; // тут получим ответ если он уже пришел или подождем если еще не пришел
//  Result :=  тут к примеру скливаем все 3 ответа VkAlbums + VkContacts + VkDialogs
end;
...
Рейтинг: 0 / 0
Потоки...
    #39767905
Beltar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там Suspend и Resume у TThread есть, ЕМНИП.
Поток работает до окончания Execute. Потом он может самоубиться, если FreeOnTerminate=True, но по умолчанию оно не равно.
Можно создать, как Suspended, поставить все настройки, только потом запустить.
...
Рейтинг: 0 / 0
Потоки...
    #39767913
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tech N9neЗапутанно всё с этими потоками, разобраться не могу....(
Если один поток на все задачи и лень разбираться, то попробуй: https://github.com/wadman/wthread
...
Рейтинг: 0 / 0
Потоки...
    #39768424
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BeltarТам Suspend и Resume у TThread есть, ЕМНИП.
Не рекомендуются. Правильней делать через Wait
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Потоки...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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