Архив категории ‘Организация потоков в Delphi-приложениях’

Пример: опрос устройства

    На этом шаге мы рассмотрим пример программы, демонстрирующей опрос устройства с помощью потока.     Используя поток, мы сможем заставить нашу программу реагировать на подключение дискового устройства. При тестировании приложения в качестве дискового устройства использовался флэш-накопитель.     На форму следует поместить компоненты TLabel и TButton. Вид формы представлен на рис. 1. Рис.1. Вид формы приложения […]

Пример: фоновая работа потока

    На этом шаге мы рассмотрим, как с помощью потоков можно выполнять фоновые процедуры.     Рассмотренное нами приложение позволит набирать текст в редакторе одновременно с тем, как увеличивается и выводится на форму значение переменной. На форму следует поместить компоненты TRichEdit, TLabel и два компонента TButton. Вид формы представлен на рис. 1. Рис.1. Вид формы приложения […]

Пример: потоки с разными приоритетами

    На этом шаге мы рассмотрим приложение, в котором демонстрируется работа потоков с разными приоритетами.     На форму следует поместить шесть компонетнов TLabel и два компонента TButton. Вид формы представлен на рис. 1. Рис.1. Вид формы приложения     Проект содержит два модуля. Текст модуля Main. unit Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, […]

Синхронизация потоков

    На этом шаге мы рассмотрим некоторые средства синхронизации, предоставляемы средой программирования Delphi.     Как нам уже известно, метод Synchronize нужен для того, чтобы обеспечить корректное обращение дополнительного потока и главного потока приложения к одним и тем же ресурсам. Иными словами, синхронизировать их. Но может возникнуть ситуация, когда синхронизация потребуется для двух дополнительных потоков. Очень […]

Создание простейшего потока

    На этом шаге будут рассмотрены основные действия для создания потока.     Теперь в среде Delphi попробуем создать приложение, использующее поток. Так как на данном этапе нам важно рассмотреть основные действия для создания простейшего потока, мы наделим наш поток минимальной функциональностью. Описанные на этом шаге действия по созданию потока применялись в среде Delphi 6.     […]

Класс TThread

    На этом шаге будут рассмотрены свойства и методы класса TThread.     Несмотря на то, что Delphi предоставляет программисту все возможности программирования средствами Windows API, в библиотеке VCL имеется специальный класс для реализации потоков - класс TThread. Для чего же потребовалось создавать этот класс? Во-первых, класс TThread делает программирование потоков более удобным. Во-вторых, он обеспечивает […]

Приоритеты потоков

    На этом шаге мы рассмотрим приоритеты потоков, классы приоритетов, а также механизм распределения процессорного времени между потоками.     На самом деле было бы наивно полагать, что все потоки, создаваемые операционной системой равноправны при распределении процессорного времени. В этом случае даже такое действие, как сохранение большого по объему документа в приложении MS Word, блокировало бы […]

Общие сведения о потоках

    На этом шаге мы начнем знакомство с потоками.     Поток - это объект операционной системы, получающий время процессора, заключенный в процесс и реализующий какую-либо задачу. Время процессора выделяется так называемыми квантами. Квант - это интервал времени, в течение которого поток будет выполняться, пока время не будет передано другому потоку.     Не следует путать потоки […]