Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Демонстраційне багатопоточний додаток з динамічною зміною властивостей вікна і компонент

Реферат Демонстраційне багатопоточний додаток з динамічною зміною властивостей вікна і компонент





а програм в одній (кілька процесів, або, потоків). По-друге, ці процеси можуть виконуватися як по черзі, так і одночасно (як запрограмує розробник). По-третє, з цих процесів можна легко отримати доступ до всіх глобальних даних програми, тому клас процесу є, по суті, просто частиною програми - звичайним юнітом (unit). По-четверте, можна створити своїх власних нащадків TThread і запустити відразу кілька примірників одного і того ж створеного класу. По-п'яте, кожним процесом дуже легко управляти - запускати, завершувати, призупиняти, переривати, встановлювати пріоритетність, і т.д.

Сам API потоків не дуже складний, але надані класом TThread можливості взагалі чудово прості. Все, що необхідно зробити, - це перекрити віртуальний метод Execute.

Інша відмінна риса класу TThread - це гарантія безпечної роботи з бібліотекою візуальних компонентів VCL. Без використання класу TThread під час викликів VCL можуть виникнути ситуації, що вимагають спеціальної синхронізації.

З погляду операційної системи потік - це її об'єкт. При створенні він отримує дескриптор і відстежується ОС. Об'єкт класу TThread - це конструкція Delphi, відповідна потоку ОС. Цей об'єкт VCL створюється до реального виникнення потоку в системі і знищується після його зникнення.

2. Розробка демонстраційного багатопотокового програми


. 1 Постановка завдання


Розробка демонстраційного багатопотокового додатки з динамічною зміною властивостей вікна і компонент.

Основні вимоги: Наявність кнопок «Запуск потоку», «Зупинка потоку», «Завершення потоку» після натискання на які відповідно починається, зупиняється і завершується демонстрація роботи потоку. Запуск потоку після його зупинки повинен виконуватися з стану, в якому потік був зупинений. Після зупинки потоку забезпечити можливість збереження даних у файлі та завантаження їх при наступному запуску програми.

Загальні вимоги:

1. Для реалізації багатопотокового додатки використовувати компонент TThread.

2. Тип програми: GUI


. 2 Вибір засобів реалізації


Для виконання проекту була вибрана мова програмування Delphi, оскільки він поєднує в собі простоту виконання завдання, побудови користувальницького інтерфейсу, а також володіє потужним набором функцій, що економить час на розробку програмного забезпечення.

Так само в проекті використовується TThread-абстрактний клас для реалізації потоків.

Властивості і методи класу TThread, використовувані в даному проекті представлені в таблицях 1 і 2.

Таблиця 1.

Властивості класу TТhread.

СвойствоОпісаніеproperty FreeOnTerminate: Boolean; Визначає, чи об'єкт потоку знищений автоматично при завершенні потоку. Якщо властивість одно True, то потік буде знищений автоматично при завершенні, якщо властивість дорівнює False, то потік повинен знищуватися явно в коді пріложенія.property Handle: THandle; Містить дескриптор потоку. Використовується для управління потоком за допомогою функцій Windows API.property Priority: TThreadPriority; Визначає пріоритет потоку щодо інших потоків у процессе.property ReturnValue: Integer; Визначає значення, що повертається потоком при його завершеніі.property Suspended: Boolean; Показує, чи є потік призупиненим. Якщо встановити властивість в True, то потік буде припинений, якщо встановити властивість в False виконання потоку буде продолжено.property Terminated: Boolean; Показує, чи був проведений виклик методу Terminate.property ThreadID: THandle; Ідентифікує потік в системі.

Таблиця 2.

Методи класу TТhread.

МетодОпісаніеconstructor Create (CreateSuspended: Boolean); Створює об'єкт потоку. Якщо параметр CreateSuspended дорівнює False, то метод Execute буде викликаний відразу. Якщо параметр CreateSuspended дорівнює True, то метод Execute буде викликаний тільки після виклику методу Resume.destructor Destroy; override; Знищує об'єкт потоку і звільняє пам'ять, виділену для него.procedure DoTerminate; virtual; Викликає подія OnTerminate.procedure Execute; virtual; abstract; Абстрактний метод, що містить код, який буде виконуватися при запуску потока.procedure Resume; Поновлює виконання припиненого потока.procedure Suspend; Припиняє виконання потока.procedure Synchronize (Method: TThreadMethod); Виконує метод, викликаний в рамках головного VCL потока.procedure Terminate ; Дає потоку сигнал на завершення, встановлюючи властивість Terminated в значення True.function WaitFor: LongWord; Чекає завершення потоку і повертає значення, яке визначається властивістю ReturnValue. 2.3 Опис логіки роботи...


Назад | сторінка 2 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка демонстраційного багатопотокового додатки з динамічною зміною влас ...
  • Реферат на тему: Розрахунок виробничої програми швейного потоку
  • Реферат на тему: Схема управління з залежним зміною напруги на якорі двигуна і потоку збудже ...
  • Реферат на тему: Проектування швейного потоку
  • Реферат на тему: Оптимізація матеріального потоку