Многопоточная реализация операций с файлами
Автор: Павел Фролов • Июнь 17, 2018 • Курсовая работа • 3,074 Слов (13 Страниц) • 740 Просмотры
Липецкий государственный технический университет
Кафедра автоматизированных систем управления
Пояснительная записка к курсовому проекту
по дисциплине «Разработка многопоточных приложений»
«Многопоточная реализация операций с файлами»
Студент | Фролов П.М. | |||||
подпись, дата | фамилия, инициалы | |||||
Группа | АС-15 | |||||
Принял | ||||||
Доцент | Назаркин О.А. | |||||
ученая степень, звание | подпись, дата | фамилия, инициалы |
Липецк 2017г.
Задание кафедры
Разработать приложение подготовки миниатюр изображений для каталогов с большим количеством графических файлов. Весь массив изображений должен быть разделён на (примерно) равные доли между потоками.
Аннотация
С. 23. Ил. 5. Табл. 1. Источники 4 назв.
В данной пояснительной записке представлено описание применения многопоточной реализации операций с файлами на примере подготовки миниатюр изображений для каталогов с большим количеством графических файлов, в программе на языке программирования С#. Проведены эксперименты по изучению соотношения количества потоков и времени выполнения программы.
Оглавление
- Теоретические сведения…………………………………………………….5
- Многопоточное программирование………………………………5
- Способы создания миниатюр…………………………………….11
- Билинейная интерполяция в компьютерной графике…………..13
- Исследование работы программы…………………………………………14
- Вывод………………………………………………………………………...17
Список источников………………………………………………………….18
Приложение………………………………………………………………….19
1 Теоретические сведения
1.1 Многопоточное программирование
В параллельном программировании проектирование программ должно ориентироваться не на выполнение одной задачи в некоторый промежуток времени, а на одновременное выполнение нескольких задач, на которые предварительно должна быть разбита программа. Главная цель - усовершенствовать программное обеспечение, воспользовавшись принципом параллельности.
[pic 1]
Рисунок 1. Типичная архитектура построения параллельной программы.
Средства параллельного программирования позволяют распределить работу программы между двумя (или больше) процессорами в рамках одного физического или одного виртуального компьютера. Такую программу можно разбить на процессы(process) или потоки (thread). Типичная архитектура построения параллельной программы показана на рисунке 1.
Поток выполнения (thread) — наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В частности, потоки выполнения разделяют инструкции процесса (его код) и его контекст (значения переменных, которые они имеют в любой момент времени). В качестве аналогии потоки выполнения процесса можно уподобить нескольким вместе работающим поварам. Все они готовят одно блюдо, читают одну и ту же кулинарную книгу с одним и тем же рецептом и следуют его указаниям, причём не обязательно все они читают на одной и той же странице.
...