В этой статье хотел бы рассказать немного о потоках. Потому, что дальше хочу показывать примеры с ними, а именно TIdhttp+TThread и многое другое. Так, что немного о потоках узнать будет полезно. Вообще потоки «вещь» классная и довольная интересная, а главное нужная. Многопоточные приложения сейчас повсюду. Вообще, что такое многопоточное приложение — это приложение, которое может выполнять много разных действий в фоновом режиме, не мешая работать основному потоку, то есть основному приложению. То есть Вам надо посчитать очень большое число, или перебрать в цикле 65000 чисел для этого Вам необходимо подождать пока это все дело выполнится, а если Вы перетащите окно за заголовок окна вашей программы, то числа перестанут считаться, это означает, что работает основной поток, а соответственно все остальные действия ждут пока он выполнится и продолжат работу. Так вот потоки и предназначены, чтобы одновременно выполнялись более 1 действия одновременно, не мешая другу другу, и соответственно, чтобы пользователь мог вводить еще какие-то данные в это же время. Давайте возьмем например программу MS Word, так вот там идет, когда Вы печатаете — выполняется как минимум два потока и они не мешают друг другу. То есть Вы печатаете — это один поток, а второй поток — проверка орфографии, который не мешает Вам совсем печатать, правда? Вот Вам и пример многопоточного приложения, преимущества Вы уже думаю поняли их. Но не стоит злоупотреблять потоками, Вы можете их использовать там где они совсем ненужны, а это лишнее мегабайты памяти и так далее.

За потоки в Delphi отвечает класс TThread, который имеет методExecute, это можно сказать основной и обязателаьный метод, который выполняет действия потока, а также синхронизирует процедуры вывода результатов например.

Пример описание на Delphi следующий

type
  MyThread = class(TThread)
  private
  protected
    procedure Execute; override;
  end;

Также в Delphi можно класс-поток создать с помощью мастера, для этого необходимо выполнить File-New-Other-Thread Object, который находится во вкладке New. Далее необходимо в появившемся окне ввести имя своего класса-потока и нажать клавишу «Ок». Но затем, где Вы будете использовать Ваш поток, необходимо в Uses подключить его.Также в спецификаторах доступа Вы сможете описывать свои процедуры, функции, переменные, свойства и так далее. Затем объявляете переменную данного класса

  • var
  • tt:MyThread;

и затем создаете поток

  • tt:=MyThread.Create(True);

Если при создании указываете True, то вызывается сразу процедураExecute. Также если у Вас несколько потоков, то между ними можно выставлять приоритеты, но об этом уже позже.

Хочу заметить, что сейчас в настоящее время очень трудно представить любую организацию, предприятие, да обычного домашнего пользователя без компьютера. Путь то будет настольный компьютер, либо переносной компьютер (ноутбук), но они присутствуют почти у каждого человека. Если Ваш компьютер сломался, то лучше всего воспользоваться ремонтом компьютеров, а не идти в магазин за новыми комплектующими или компонентами компьютера. Доверяйте свой компьютер при ремонте профессионалам и они Вам помогут в этом
Автор статьи - Andrey53

Метки: , ,

Комментарии закрыты.