Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Проблемы синхронизации потоков




End.

Единственное, что можно отметить для данного варианта, это то, что на­блюдается некоторое притормаживание, когда включается в работу основ­ной поток - рисование круга (или происходит нажатие на кнопку выхода из приложения). Это связано с тем, что блокируется не одна операция Pix­els [х,у], а весь цикл закраски пикселов в данной строке.

В классе TTread не зря введен метод синхронизации потоков. Он необ­ходим, чтобы как-то блокировать неприятные ситуации, которые могут слу­читься. Следует отметить, что в примерах, приведенных ранее, имеются до­полнительные трудности, связанные с использованием бесконечно рабо-


тающих потоков (бесконечные циклы). Поэтому даже в случае двух потоков стандартные методы синхронизации иногда не справляются.

Если в процессе работает несколько потоков, то можно ожидать две ос­новные неприятности: тупики и гонки. Тупики возникают, когда два или более потоков ожидают один и тот же ресурс и блокируют друг друга, так как не указано, какой поток должен в такой ситуации получить нужный ре­сурс. Гонки возникают, когда два или более потоков используют один и тот же ресурс и изменяют его в непредусмотренном порядке, поскольку опера­ционная система может поменять очередность работы потоков. Для разре­шения указанных и некоторых других ситуаций разрабатываются дополни­тельные механизмы синхронизации: функции ожидания и объекты синхро­низации.

Среди функций чаще всего используются WaitForSingleObject и Wait-ForMultipleObjects (функции Windows API). Среди объектов выделяются Critical Section (критическая секция), Event (событие), Mutes (взаимное исключение), Semaphore (семафор), Timer (таймер). В различных случаях выбирается свой вариант.

 

ПЕРЕЧЕНЬ КОМПОНЕНТОВ, ИСПОЛЬЗОВАННЫХ В ПРИМЕРАХ

В табл. 17 приводится перечень используемых компонентов, которые понадобились при решении примеров.

Таблица 17

Номер примера Компоненты
  TButton, TLabel, TEdit
  TPanel, TBitBtn
  TBevel
  TImage
  TListBox
  TMemo
  TComboBox
  TStringGrid
  TRadioGroup, TRadioButton
  TCheckBox, TDrawGrid
  ITabControl
. 13 TPageControl, TSpinEdit
  TTimer
  TMainMenu
  TListView
  TColorBox, TList
  Проект с двумя формами
  TChart, TFileStream, TOpenDialog, TSaveDialog
  TMemoryStream
  TActionLis^TCoolBar^TToolBar, TSphtter
  TThread
  TProgressBar, TTrackBar



ОГЛАВЛЕНИЕ


СПИСОК ЛИТЕРАТУРЫ

1. Гофман В., Хомоненко A. Delphi 6. - Дюссельдорф, М., Киев, С-Пб: БХВ - Петербург, 2001.

2Дарахвелидзе П., Марков Е. Программирование в Delphi 7. - С-Пб: БХВ-Петербург, 2003.

3.Использование Delphi 3/ Т. Миллер, Д. Пауэл и др.. - Киев, М.: Диалек­тика, 1997.

4.Кэнту М. Delphi 4. - М., Харьков, Минск, С-Пб: Питер, 1999.

5.Федоров A, Delphi 2.0 для всех. — М.: КомпьютерПресс, 1997.226
ВВЕДЕНИЕ 3

ОСНОВЫ DELPHI................................................................................................... 5

ОБЩАЯ ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ..............................................5

ЯЗЫК ПРОГРАММИРОВАНИЯ..................................................................... 6

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ.............. 7

ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ..................................................... 8

СОБЫТИЙНО УПРАВЛЯЕМОЕ ПРОГРАММИРОВАНИЕ..................... 8

WINDOWS-ПРИЛОЖЕНИЕ................................................................................... 10

СРЕДА ПРОГРАММИРОВАНИЯ.................................................................. 10

ПЕРВОНАЧАЛЬНЬШ СВЕДЕНИЯ О ПРОЕКТЕ ПРИЛОЖЕНИЯ..................... 12

ВСТРОЕННЫЙ ОТЛАДЧИК.......................................................................... 14

ИСПОЛЬЗОВАНИЕ ВСТРОЕННЫХ КЛАССОВ................................................. 14

ИЕРАРХИЯ КЛАССОВ.................................................................................. 14

ИСПОЛЬЗОВАНИЕ ПАЛИТРЫ КОМПОНЕНТОВ И ИНСПЕКТОРА

ОБЪЕКТОВ.......................................................................................................... 16

ИСПОЛЬЗОВАНИЕ ГРАФИКИ....................................................................17

ОСНОВНЫЕ ИНСТРУМЕНТЫ.......................................................................... 17

ГРАФИЧЕСКИЕ ДАННЫЕ И ПАЛИТРА............................................................. 19

НЕКОТОРЫЕ ОБЩИЕ СВОЙСТВА КОМПОНЕНТОВ......................................20

СОХРАНЕНИЕ ПРОЕКТА..................................................................................... 21

ПОСТРОЕНИЕ ПРОСТЕЙШЕГО ПРОЕКТА..............................................22

ПОНЯТИЕ ИСКЛЮЧИТЕЛЬНОЙ СИТУ АЛИИ.................................................. 23

ВВЕДЕНИЕ В OBJECT PASCAL..................................................................... 24

СТРУКТУРА ПРИЛОЖЕНИЯ......................................................................... 24

СТРУКТУРА ПРОГРАММЫ-ПРОЕКТА............................................................. 25

СТРУКТУРА МОДУЛЯ...................................................................................... 26

ПРИМЕР ПРИЛОЖЕНИЯ!.......................................................................... 28

ОПИСАНИЕ ПРОГРАММНЫХ ЭЛЕМЕНТОВ................................................... 31

ПРОГРАММНЫЕ ЭЛЕМЕНТЫ И АДРЕСА ПАМЯТИ............................ 31

ОБЛАСТИ ВИДИМОСТИ............................................................................... 31

ПРАВИЛА ЗАПИСИ ИМЕН........................................................................... 32

ВРЕМЯ ЖИЗНИ ИДЕНТИФИКАТОРОВ.................................................... 32

ИСПОЛЬЗОВАНИЕ ЛОКАЛЬНЫХ ПЕРЕМЕННЫХ В ПРИМЕРЕ 7....32 ИСПОЛЬЗОВАНИЕ ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ В ПРИМЕРЕ 1...33

ТИПЫ..................................................................................................................... 33

ПРОСТЫЕ ТИПЫ................................................................................................ 34

ЦЕЛЫЕ ТИПЫ.................................................................................................. 35


СИМВОЛЬНЫЕ ТИПЫ............................................................................... 36

ЛОГИЧЕСКИЕ ТИПЫ...............................................;............................ 37

ТИП ПЕРЕЧЕНЬ........................................................................................... 37

ИНТЕРВАЛЬНЫЙ ТИП........................................................................... 38

ВЕЩЕСТВЕННЫЙ ТИП.............................................................................. 38

ТИП ДАТА-ВРЕМЯ....................................................................................... 39

ВЫРАЖЕНИЯ................................................................................................ 39

КОНСТАНТЫ............................................................................................. 40

ТИПИЗИРОВАННЫЕ КОНСТАНТЫ........................................................... 40

ПЕРЕМЕННЫЕ............................................................................................ 40

ОПЕРАЦИИ............................................................................................... 41

ФУНКЦИИ.................................................................................................... 42

ПОРЯДОК ВЫЧИСЛЕНИЯ ВЫРАЖЕНИЙ................................................. 42

ВИДЫ ОПЕРАТОРОВ..................................................................................... 43

ПРОСТЫЕ ОПЕРАТОРЫ................................................................................. 43

СОСТАВНОЙ ОПЕРАТОР............................................................................. 44

ОПЕРАТОРЫ УСЛОВНОГО ПЕРЕХОДА..................................................... 44

ОПЕРАТОР IF.............................................................................................. 45

ПРИМЕР ПРИЛОЖЕНИЯ2................................................................... 45

ОПЕРАТОР CASE........................................................................................... 47

ПРИМЕР ПРИЛОЖЕНИЯ 3...................................................................... 48

ИСПОЛЬЗОВАНИЕ ENTER В ПРИМЕРЕ 3........................................... 52

ОПЕРАТОРЫ ЦИКЛА...................................................................................... 53

ОПЕРАТОР ЦИКЛА FOR......................................................................... 53

ПРИМЕР ПРИЛОЖЕНИЯ 4.................................................................. 54

ОПЕРАТОР ЦИКЛА WHILE................................................................... 58

ПРИМЕР ПРИЛОЖЕНИЯ 5.................................................................. 58

ОПЕРАТОР ЦИКЛА REPEAT..................................................................... 61

ПРИМЕР ПРИЛОЖЕНИЯ б..................................................................... 61

ИСПОЛЬЗОВАНИЕ ПРОЦЕДУР BREAK И CONTINUE................... 64

ПРИМЕР ПРИЛОЖЕНИЯ 7.................................................................. 64

МАССИВЫ.......................................................................................................... 67

СТАТИЧЕСКИЕ МАССИВЫ......................................................................... 67

ДИНАМИЧЕСКИЕ МАССИВЫ..................................................................... 68

ПРИМЕР ПРИЛОЖЕНИЯ 8.................................................................... 70

СТРОКИ................................................................................................................ 71

ПРИМЕР ПРИЛОЖЕНИЯ 9.................................................................... 73

ЗАПИСИ (ОБЪЕДИНЕНИЯ).......................................................................... 76

ОПЕРАТОР WITH....................................................................................... 78


ПРИМЕР ПРИЛОЖЕНИЯ 10.................................................................. 79




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 422; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.