Создание многопоточных приложений. Копытин А.В - 5 стр.

UptoLike

Составители: 

5
Как видно из объявления, класс
TThread является прямым потомком
класса TObject и, следовательно , не является компонентом. Нетрудно заметить ,
что метод TThread.Execute абстрактный. Это значит, что класс TThread сам
является абстрактным, и вы никогда не сможете создать экземпляр самого
класса TThread. Вам можно создавать только экземпляры потомков класса
TThread. Учитывая вышесказанное, наиболее простой способ создания потомка
класса TThread состоит в выборе элемента Thread Object из диалогового окна
New Items (см . рис. 1), которое открывается командой File->New.
Рис 1. Элемент Thread Object диалогового окна New Items
После этого откроется диалоговое окно New Thread Object, в котором вам
предлагается ввести имя для нового объекта . Например, вы могли бы ввести
имя TTestThread. Затем Delphi создаст новый модуль , содержащий ваш объект.
Вот как будет выглядеть его объявление:
type
TTestThread = class(TThread)
private
{Закрытые объявления}
protected
procedure Execute; override;
end;
Как видите , для создания функционального потомка класса TThread вы
должны переопределить единственный метод Execute. Предположим теперь,
что вы хотите внутри класса TTestThread выполнять сложные вычисления. В
этом случае вы могли бы определить его метод Execute следующим образом:
procedure TTestThread.Execute;
var i: integer;
begin
for i := 1 to 2000000 do
                                           5
  Как видно из о бъ явления, класс TThread является прямы м по томко м
классаTObject и, следо вательно , неявляется ко мпо нентом. Н етрудно заметить,
что метод TThread.Execute абстрактны й. Э то значит, что класс TThread сам
является абстрактны м, и вы нико гда не смо ж ете со здать экземпляр само го
класса TThread. В ам мо ж но со здавать только экземпляры по томко в класса
TThread. У читы вая вы ш есказанно е, наибо лее про стой спо со б со здания по томка
класса TThread со стоитв вы бо ре элемента Thread Object из диало го во го о кна
New Items (см. рис. 1), ко торо ео ткры вается ко мандо й File->New.




                Р ис 1. Э лем ент Thread Object диалогового окна New Items

   П о сле этого о ткро ется диало го во е о кно New Thread Object, в ко торо м вам
предлагается ввести имя для но во го о бъ екта. Н апример, вы мо гли бы ввести
имя TTestThread. Затем Delphi со здастно вы й мо дуль, со держ ащ ий ваш о бъ ект.
В о ткак будетвы глядетьего о бъ явление:
type
  TTestThread = class(TThread)
  private
    {Закрытые объявления}
  protected
    procedure Execute; override;
end;
   Как видите, для со здания функцио нально го по томка класса TThread вы
долж ны перео пределитьединственны й метод –Execute. П редпо ло ж им теперь,
что вы х о тите внутри класса TTestThread вы по лнять сло ж ны е вы числения. В
этом случае вы мо гли бы о пределитьего метод Execute следую щ им о бразо м:
procedure TTestThread.Execute;
var i: integer;
begin
  for i := 1 to 2000000 do