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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

Лабораторная работа №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. 10 ДТМ ТС10S175 ДТМ сток РЦЕ10 GT РЦЕ12 1
4. Ценности христианства
5. БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
6. Создание нескончаемого удовольствия
7. Ценности и приоритеты в представлениях старшеклассников как основа профилактики наркозависимости
8. ТЕМА 13 ТИПЫ ИНФОРМАЦИОННЫХ СИСТЕМ В ОБЛАСТИ ЗДРАВООХРАНЕНИЯ.
9. Какое счастье что я выбрался изпод земли Какое счастье что я вижу небо и солнце радовался он расправляя
10. .09 030711-285 можно дозаявлять вычет в каждом последующем квартале до конца года пропорционально изменению лим