Будь умным!


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

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

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


Лабораторная работа №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. тематическое изучение педагогических дисциплин составляющих основу вашей профессиональной компетентност
2. Мстителей или Народных мстителей А
3. реферат дисертації на здобуття наукового ступеня кандидата філософських наук Чернівці ~ 2007
4. Формирование интереса к обучению у младших школьников
5. кислородная косметика в сознании потребителей четко ассоциируется с Fberlic а Fberlic с кислородной косметикой
6. 1Мышлениеэтоа это социально обусловленный неразрывно связанный с речью психический процесс поисков и откр.
7. Основные задачи гигиены
8. Профессиональная этика журналистов
9. а Пленум ЦК КПСС который положил начало реформам в России
10. содержание применительно к сфере воспитания
11. Ссылки. Как это действует Ваша группа ставится на месяц на первое место среди всех групп в разделе
12. Контрольная работа- Використання векселів в Україні
13. Тема- Вступ. Найдавніша історія України План 1
14. сутки инкубации
15. во ЮУрГУ 2006 ~ 103 с
16. Лабораторная работа 7 Тема- Настройка среды Windows с помощью панели управления
17. ТЕМА 3.5 ФИНАНСЫ И КРЕДИТОВАНИЕ В СТРОИТЕЛЬСТВЕ Показатели устойчивости финансового состояния в стр
18. Джек Лондон
19. ЛАБОРАТОРНАЯ РАБОТА 1 Интерполирование степенными многочленами
20. . А~дар~а ж~не олардан шы~~ан тегіне сенетін ежелгі дін т~рі