Характеристики на потока на развитие - Delphi източници често задавани въпроси

Съвременни операционни системи Windows 32, осигурява не само многозадачност, което означава, че възможността за паралелна работа на няколко програми, но също така и многонишкова, когато една програма се организира от няколко едновременни парчета (конци), всяка от които се конкурира с други теми за най-важния ресурс .. - CPU време. В многонишков режим, процесорно време се разпределя на малки порции (кванти), за всеки процес, след което управлението се предава на друг поток, и така нататък. Д. До потоците все още не са завършени нейната работа. По всяко работеща програма, организирана поне един поток да програмирате команди. С клас удобства TThread програма може да създаде допълнителни нишки, за да извършват някои операция фон (например текстообработваща програма Word създава допълнителни потоци за проверка на правописа, номерацията на страниците, отпечатване на документ, и така нататък. Н.).

За да създадете допълнителни програми поточни Delphi е специален модул на потока в хранилището е определена икона темата Obiecll). При избора на този модул, Delphi пита името на класа, която е дете на основното клас TThread. Необходимост наследство дължи на факта, че TThread клас включва абстрактен метод Изпълнение, което в действителност, трябва да се извърши в новия поток, и следователно трябва да се припокриват в потомството.

Например (със съответните превод):

Изпълнението на програмата не се различава от програмиране на редовната програма с едно важно изключение: на потока не трябва да използва методите и свойствата на визуалните компоненти Другарки и другари, от които да доведат до промяна във външния вид на програмата По-конкретно, той може да го направи само въз основа на специален метод синхронизирате чрез които синхронизиране на изпълнение на основната програма с допълнителен поток поток.

Разположен на имота SpinEditl.Value 3nachenie 2 задайте Gaugel собственост. Kind стойност gkPie, Gaugel. BorderStyle-bsNone и Button1.Caption - "Square".

В свободното пространство форми сложи TMemo компонент и да го настроите на стойност alSlient Align собственост и имущество Име-"mmOutput".

Кликнете два пъти върху бутона Button1i въведете кода по следния начин:

Изберете иконата на потока модул в хранилището прозорец Delphi и нека името клас наследник Тема ThreadDemo. Окончателният текст на модула на потока е показана по-долу.

Ако стартирате програмата по начин, подготвен, нищо няма да се случи - ние не сме дори започна нишката. За да направите това, добавете модула използва клауза на основната форма Unit1 Unit1 връзката отворена в прозореца на инспектор и списък на компонентите, изберете Form1 компонент и на страницата на събитието, кликнете два пъти върху OnActivate на собственост, за да се създаде манипулатор за това събитие:

Просто ей така тече допълнителен поток - ние започне обект TDemo, минавайки му Konsruktor ThreadDemo.Create

единственият вариант е False (този параметър показва дали новосъздадената нишка на "сън" трябва - Вярно или той трябва да започне работа веднага - False). Програмата може по всяко време да спре потока работа чрез възлагане на неговите свойства спрени до Вярно е, и тя продължава да тече, задайте този имот на False. Забележка - Изпълнение метод поток наложени в защитената част, поради което не е достъпно и от апарата. Извършването на този метод започва да отнема автоматично, веднага след като имотът ще предприеме, за да False.