Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 9 динамически подключаемые библиотеки DLL И потоковая многозадачность в Win32 Цель р

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.11.2024

Лабораторная работа №9

динамически подключаемые библиотеки (DLL) И потоковая многозадачность в Win32

Цель работы: изучить возможности создания программ с использованием динамически подключаемых библиотек и организации многопоточного режима выполнения программ в Win32.

Ход работы

При подготовке к лабораторной работе самостоятельно на основе материалов лекций, рекомендованной литературы, справочной системы Win32 API, SDK и MSDN изучить технологию и средства создания и использования динамически подключаемых библиотек (DLL), создания потоков в Win32 а также основных способов синхронизации потоков и обмена данными между потоками. При этом изучить назначение таких функций и соответствующие им структуры данных:

  1.   для явной компоновки, использования и отключения DLL: LoadLibrary(), LoadLibraryEx(), FreeLibrary(), GetModuleHandle(), GetModuleFileName(), DllMain();
  2.   для создания потоков, взаимодействия с ними и уничтожения потоков: CreateThread(), SuspendThread(), ResumeThread(), GetCurrentProcess(), GetCurrentThread(), GetThreadPriority(), SetThreadPriority(), ExitThread(), TerminateThread().

3) для синхронизации потоков: WaitForSingleObject(),WaitForMultiplyObjects().

Задание

1. Создать динамическую библиотеку, содержащую рабочую функцию потока, которая:

а) создает окно с кнопками «+», «-», «Уведомить» и «Завершить»;

б) выводит в это окно информацию о времени запуска и продолжительности её работы;

в) при нажатии на кнопку «+» инкрементирует 1 раз в секунду заданную переменную;

г) при нажатии на кнопку «-» декрементирует 1 раз в секунду заданную переменную;

д) отображает значение глобальной переменной в главном окне;

е) при нажатии на кнопку «Уведомить» создает сообщение;

ж) при нажатии на кнопку «Завершить» завершает поток.

2. Создать основную программу, которая должна выполнять следующие функции:

а) предотвращать запуск второй копии программы с использованием мьютексов;

б) содержать главное меню с пунктом «Потоки» и подменю «Поток №1» … «Поток №<n>». Каждый из пунктов «Поток №<i>» должен содержать пункты «Создать», «Запустить», «Приостановить», «Завершить», при выборе которых программа должна выполнять соответствующие действия и отражать изменения состояния потоков в меню;

в) ограничивать количество запускаемых потоков с использованием семафоров.

г) при загрузке программы запустить на выполнение 2 потока из DLL;

д) защищать изменение глобальной переменной с помощью критических секций;

е) получать уведомления от потоков, и выдавать при его получении окно сообщений (MessageBox);

ж) завершаться при завершении всех потоков.

Литература

1. Рихтер Дж. Windows для профессионалов: Программирование для Windows 95 и Windows NT 4 на базе Win32 API / Пер. с англ. – М.: Издательский отдел «Русская редакция» ТОО «Channel Trading Ltd.», 1997. – 712 c.

2. Финогенов К.Г. Win32. Основы программирования. - М.: ДИАЛОГ-МИФИ, 2002. - 416 с.

3. Румянцев П.В. Азбука программирования в Win32 API.

4. Электронный ресурс: www.google.com.




1. Введение Фискальная политика оказалась одним из наиболее сложных компонентов процесса трансформации поск.html
2. Изучение способов измерения температуры
3. записка к курсовому проекту.
4. Лабораторная работа 5 Составить программу позволяющую изобразить графическую информацию в виде знака до
5. Методы дисконтирования
6. Летосчисление
7. Пути укрепления финансового состояния предприятия ООО
8. і. Англ
9. Петербурга-Москвы
10. на тему- Свайные фундаменты
11. тематики игр Мастерство сюжролевыми играми требуют большого мастерства
12. где Тогда инстинктивно он попробовал сесть
13. 2013 г.1
14. Автоэлектроника 16 Общая информация о предприятии
15. Шпоры по ботанике
16. Структурная схема МК Организация памяти и регистров МК Ассемблер Система команд МК х51
17. Sometimes you don~t know it until your world is upside down
18. Теоретичні засади інноваційного менеджменту банку
19. Управління інноваційними проектами Студент Керівник Київ НУХТ 2008 Зміст роз
20. History of Homeschooling in USA