Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Демонстрационное многопоточное приложение с динамическим изменением свойств окна и компонент

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Разработка и реализация демонстрационного многопоточного приложения. Выбор основных средств реализации. Описание логики работы приложения и разработка программного обеспечения. Описание пользовательского интерфейса. Реализация потоков в Delphi.
Краткое сожержание материала:

Размещено на

Содержание

Введение

1. Реализация потоков в Delphi

1.1 Потоки в Delphi

1.2 Класс TThread

2. Разработка демонстрационного многопоточного приложения

2.1 Постановка задачи

2.2 Выбор средств реализации

2.3 Описание логики работы приложения и разработка программного обеспечения

2.4 Описание пользовательского интерфейса

Заключение

Список использованной литературы

Приложение А (обязательное)

Введение

Информатика - это область человеческой деятельности, связанная с процессами преобразования информации с помощью компьютеров и их взаимодействием со средой применения. Информатика появилась благодаря развитию компьютерной техники и немыслима без нее.

Одним из важнейших разделов информатики является программирование. Язык программирования - это формальный, искусственно созданный язык для написания и реализации алгоритма на компьютере.

Среди главных причин, принесших заслуженную популярность объектно-ориентированного программирования, следует отметить следующие:

· почти полное разрешение проблемы кризиса в программном обеспечении, за счет уменьшения времени на разработку программного продукта и высокой технологии программирования;

· переход от существующих языков программирования к новым, прогрессивным информационным технологиям и сходство идей объектно-ориентированного программирования с идеями из других областей науки.

Методы ООП для решения технических задач нередко используются в повседневной жизни, поэтому, обучение языкам объектно-ориентированного программирования не вызывает особых трудностей.

Преимущество ООП в наглядном представлении программы с помощью объектов (кнопок, строк для ввода информации и др.). Каждый объект принадлежит определенному классу. Например, кнопка (Button1) принадлежит классу кнопок TButton. В класс входит сколь угодно много объектов, объединенных в одну группу согласно их свойствам и поведению в среде окружения, в которой они существуют и взаимодействуют.

Появление Delphi не могло пройти незамеченным среди многочисленных пользователей компьютера. Оценки экспертов, изучающих возможности этого нового продукта фирмы Borland, обычно окрашены в восторженные тона. Основное достоинство Delphi состоит в том, что здесь реализованы идеи визуального программирования. Среда визуального программирования превращает процесс создания программы в приятное и легко понимаемое конструирование приложения из большого набора графических и структурных примитивов.

В данном курсовом проекте к рассмотрению предоставлены следующие вопросы:

· Потоки в Delphi.

· Класс TThread.

Практической частью курсового проекта является разработка демонстрационного многопоточного приложения с динамическим изменением свойств окна и компонент.

1. Реализация потоков в Delphi

1.1 Потоки в Delphi

Работая с Delphi, нужно иметь в виду: этот замечательный продукт не только упрощает разработку сложных приложений, он использует при этом все возможности операционной системы. Одна из возможностей, которую поддерживает Delphi, -- это так называемые потоки (threads) или нити.

Потоки позволяют в рамках одной программы решать несколько задач одновременно. С недавних пор операционные системы для персональных компьютеров сделали это возможным.

Операционная система (ОС) предоставляет приложению некоторый интервал времени центрального процессора (ЦП) и в момент, когда приложение переходит к ожиданию сообщений или освобождает процессор, операционная система передает управление другой задаче. Теперь, когда компьютеры с более чем одним процессором резко упали в цене, а операционная система Windows NT может использовать наличие нескольких процессоров, пользователи действительно могут запускать одновременно более одной задачи. Планируя время центрального процессора, Windows 95 или Windows NT распределяют его между потоками, а не между приложениями. Чтобы использовать все преимущества, обеспечиваемые несколькими процессорами в современных операционных системах, программист должен знать, как создавать потоки.

Потоки -- это объекты, получающие время процессора. Время процессора выделяется квантами. Квант времени -- это интервал, имеющийся в распоряжении потока до тех пор. пока время не будет передано в распоряжение другого потока.

1.2 Класс Tthread

Delphi представляет программисту полный доступ к возможностям программирования интерфейса Win32.

Класс TThread -- прекрасный пример предоставления разработчику простого доступа к программированию потоков.

Зачем же нужен класс Thread и его потомки? Во-первых, этот объект позволяет создавать как бы несколько программ в одной (несколько процессов, или, потоков). Во-вторых, эти процессы могут выполняться как по очереди, так и одновременно (как запрограммирует разработчик). В-третьих, из этих процессов можно легко получить доступ ко всем глобальным данным программы, т.к. класс процесса является, по сути, просто частью программы - обычным юнитом (unit). В-четвертых, можно создать своих собственных потомков TThread и запустить сразу несколько экземпляров одного и того же созданного класса. В-пятых, каждым процессом очень легко управлять - запускать, завершать, приостанавливать, прерывать, устанавливать приоритетность, и т.д.

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

Другая отличительная черта класса TThread -- это гарантия безопасной работы с библиотекой визуальных компонентов VCL. Без использования класса TThread во время вызовов VCL могут возникнуть ситуации, требующие специальной синхронизации.

С точки зрения операционной системы поток -- это ее объект. При создании он получает дескриптор и отслеживается ОС. Объект класса TThread -- это конструкция Delphi, соответствующая потоку ОС. Этот объект VCL создается до реального возникновения потока в системе и уничтожается после его исчезновения.

2. Разработка демонстрационного многопоточного приложения

2.1 Постановка задачи

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

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

Общие требования:

1. Для реализации многопоточного приложения использовать компонент TThread.

2. Тип приложения: GUI

2.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;

Идентифицирует поток в системе.

...

Другие файлы:

Многопоточное программирование
Создание потока с помощью конструктора на основе класса Thread, интерфейса Runnable, синхронизации потоков. Краткая справка по необходимым программным...

Работа с базами данных через интерфейс
Каждый визуальный компонент имеет набор свойств, которые можно устанавливать программно или во время проектирования приложения. Для ознакомления с нек...

Программирование на Object Pascal в среде Delphi
Цель лабораторной работы: изучить основные элементы визуальной среды, освоить использование простейших компонентов DELPHI для ввода/вывода данных, и с...

Организация учета труда и заработной платы
Приложение №1Баланс на 31.12.2006Приложение №2Звіт про фінансові результати за 2006р.Приложение №3Разработанный план счетов(извлечение), на которых от...

Исследование свойств многоканальных доплеровских фильтров
Исследование частотных свойств фильтра. Особенности уровня боковых лепестков, шумовых полос, максимальных потерь преобразования окна Кайзера-Бесселя п...