КАТЕГОРИИ: Архитектура-(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. Единственное, что можно отметить для данного варианта, это то, что наблюдается некоторое притормаживание, когда включается в работу основной поток - рисование круга (или происходит нажатие на кнопку выхода из приложения). Это связано с тем, что блокируется не одна операция Pixels [х,у], а весь цикл закраски пикселов в данной строке. В классе TTread не зря введен метод синхронизации потоков. Он необходим, чтобы как-то блокировать неприятные ситуации, которые могут случиться. Следует отметить, что в примерах, приведенных ранее, имеются дополнительные трудности, связанные с использованием бесконечно рабо- тающих потоков (бесконечные циклы). Поэтому даже в случае двух потоков стандартные методы синхронизации иногда не справляются. Если в процессе работает несколько потоков, то можно ожидать две основные неприятности: тупики и гонки. Тупики возникают, когда два или более потоков ожидают один и тот же ресурс и блокируют друг друга, так как не указано, какой поток должен в такой ситуации получить нужный ресурс. Гонки возникают, когда два или более потоков используют один и тот же ресурс и изменяют его в непредусмотренном порядке, поскольку операционная система может поменять очередность работы потоков. Для разрешения указанных и некоторых других ситуаций разрабатываются дополнительные механизмы синхронизации: функции ожидания и объекты синхронизации. Среди функций чаще всего используются WaitForSingleObject и Wait-ForMultipleObjects (функции Windows API). Среди объектов выделяются Critical Section (критическая секция), Event (событие), Mutes (взаимное исключение), Semaphore (семафор), Timer (таймер). В различных случаях выбирается свой вариант.
ПЕРЕЧЕНЬ КОМПОНЕНТОВ, ИСПОЛЬЗОВАННЫХ В ПРИМЕРАХ В табл. 17 приводится перечень используемых компонентов, которые понадобились при решении примеров. Таблица 17
ОГЛАВЛЕНИЕ СПИСОК ЛИТЕРАТУРЫ 1. Гофман В., Хомоненко A. Delphi 6. - Дюссельдорф, М., Киев, С-Пб: БХВ - Петербург, 2001. 2Дарахвелидзе П., Марков Е. Программирование в Delphi 7. - С-Пб: БХВ-Петербург, 2003. 3.Использование Delphi 3/ Т. Миллер, Д. Пауэл и др.. - Киев, М.: Диалектика, 1997. 4.Кэнту М. Delphi 4. - М., Харьков, Минск, С-Пб: Питер, 1999. 5.Федоров A, Delphi 2.0 для всех. — М.: КомпьютерПресс, 1997.226 ОСНОВЫ 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; Просмотров: 440; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |