"Мутанты среди нас". Многопоточное программирование

Организация взаимодействия потоков через мьютексы. Многопоточное программирование и особенности вывода данных программой. Рассмотрение сущности значения COUNT. Оценка вероятности удержания мьютекса до конца цикла записи потока в глобальную переменную.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 19.11.2020
Размер файла 552,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

Лабораторная работа 7

"Мутанты среди нас". Многопоточное программирование

Подготовил: ст. гр. БПО-18-01 Мамбетов К.Р.

Проверил: пр. к. ВТИК Гиниятуллин В.М.

Основная часть

Цель. Организовать взаимодействие потоков следующего вида: одну глобальную переменную - строку А = 4 (таблица 4) потоков пишут и выводят каждый свою строку. Четные потоки пишут по В = 6 строк, нечетные по С = 1 строк.

Ожидаемый результат: запускаются 4 потока, которые пишут в глобальную переменную каждый свою строку 6 раз, если четный поток, и 1 раз, если нечетный поток, после чего выводят строку-глобальную переменную. Вывод программы при каждом выполнении разный из-за того, что невозможно предсказать, какой процесс захватит мьютекс.

Код. Код программы потока (1) представлен для A потоков, для четных потоков COUNT = 6, для нечетных - 1. Основной код программы (2) инициализирует мьютекс и потоки, ожидает завершение выполнения потоков, после чего удаляет мьютекс, выводит сообщение о завершении работы и завершает работу.

Анализ результатов и выводы: Организовано взаимодействие потоков через мьютексы. Невозможно предсказать, какой поток захватит мьютекс первым, из-за чего вывод программы получается разным (см. скриншот на следующей странце). Чем больше значение COUNT, тем меньше вероятность того, что поток сможет удержать мьютекс до конца цикла записи в глобальную переменную.

мьютекс многопоточный программирование

Размещено на Allbest.ru

...

Подобные документы

  • Создание потока с помощью конструктора на основе класса Thread, интерфейса Runnable, синхронизации потоков. Краткая справка по необходимым программным компонентам. Составление программы анимации мячей пространстве окна. Диаграмма классов приложения.

    лабораторная работа [884,9 K], добавлен 01.05.2014

  • Программирование ввода-вывода на основе потоков в Java. Классы для работы с потоками символов. Характеристика базовых классов. Пример чтения сетевого ресурса. Коллекции как расширение возможностей массивов. Работа с ассоциативными массивами HashMap.

    лекция [630,1 K], добавлен 01.05.2014

  • Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.

    курсовая работа [336,2 K], добавлен 27.06.2015

  • Особенности программирования на языке Паскаль в среде Турбо Паскаль. Линейные алгоритмы, процедуры и функции. Структура данных: массивы, строки, записи. Модульное программирование, прямая и косвенная рекурсия. Бинарный поиск, организация списков.

    отчет по практике [913,8 K], добавлен 21.07.2012

  • Общая характеристика структурного программирования. Использование конструкций цикла и условного оператора. Методология функционального моделирования SADT, ее основные элементы. Типы связей между функциями. Моделирование потоков данных (процессов).

    дипломная работа [704,7 K], добавлен 20.10.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.