1   2   3   4   5   6   7   8   9   10
Ім'я файлу: Отчет.docx
Розширення: docx
Розмір: 396кб.
Дата: 08.06.2021
скачати

Дніпровський національний університет імені О. Гончара


_____________________________________________________________________________________________

(повна назва кафедри)

КУРСОВА РОБОТА
з ___________________________________________________________

(назва дисципліни)
на тему:_____________________________________________________
____________________________________________________________
Студента (ки) _____ курсу ______ групи
напряму підготовки_________________

__________________________________

__________________________________

спеціальності______________________

__________________________________
_________________________________

(прізвище та ініціали)
Керівник ___________________________
____________________________________

(посада, вчене звання, науковий ступінь, прізвище та ініціали)

Кількість балів____________
Національна шкала ________
Оцінка ECTS _____________
Члени комісії : ___________ _______________________________

(підпис) (прізвище та ініціали)

___________ _____________________________

(підпис) (прізвище та ініціали)

____________ ______________________________
(підпис) (прізвище та ініціали

м. Дніпро, 2018 р.

Зміс

КУРСОВА РОБОТА 1

Вступ 4

Завдання на курсову роботу 5

1.1.Потоки 6

1.1.1. Визначення потоку 6

1.1.2.Створення потоку 10

1.1.3.Завершення потоку 11

1.1.4.Зупинка та відновлення потоку 12

1.1.5.Пріоритети потоків 13

1.1.6.Визначення моменту закінчення потоку 13

1.1.7.Передача аргументу потоку 14

1.1.8.Властивість IsBackground 15

1.2.Процеси 15

1.2.1.Визначення процесу 15

1.2.2.Запуск процесу 16

1.2.3.Завершення процесу 17

1.3.Синхронізація 17

1.3.1.Визначення синхронізації 17

1.3.2.М'ютекс 18

1.3.3.Семафор 20

1.3.4.Події 23

1.3.5.Клас Monitor і блокування 24

1.3.6.Методи Wait(), Pulse() і PulseAll() 25

1.3.7.Атрибут MethodImplAttribute 26

1.3.8.Клас Interlocked 27

1.4.Відображення файлу у пам’ять 27

1.4.1.Концепція механізму відображення файлу у пам’ять 27

1.4.2.Класи простору імен System.IO.MemoryMappedFiles 28

1.4.3.Постійні зіставлені в пам’яті файли. Метод CreateFromFile() 30

1.4.4.Непостійні зіставлені в пам’яті файли. Метод CreateNew() 31

1.4.5.Метод OpenExisting() 32

1.5.Канали передачі даних 33

1.5.1.Способи передачі даних між процесами 33

1.5.2.Зв’язки між процесами 34

1.5.3.Анонімні канали 36

1.5.4.Іменовані канали 38

2.Практична частина 41

2.1.Створення ігрової розмітки 41

2.2.Створення ігрового поля 44

2.3.Створення «власного» ігрового поля 55

2.4.Створення ігрового поля суперника 62

2.5.Створення керуючого процесу 65

2.6.Результати роботи програми 74

Вступ 4

Завдання на курсову роботу 5

1. Теоретична частина 6

1.1. Потоки 6

1.2. Процеси 15

1.3. Синхронізація 17

1.4. Відображення файлу у пам’ять 26

1.5. Канали передачі даних 32

2. Практична частина 40

2.1. Створення ігрової розмітки 40

2.2. Створення ігрового поля 43

2.3. Створення «власного» ігрового поля 55

2.4. Створення ігрового поля суперника 62

2.5. Створення керуючого процесу 65

2.6. Результати роботи програми 74

Висновок 77

Список використаної літератури 78

Вступ


Одним з ключових аспектів у сучасному програмуванні є багатопоточність. Ключовим поняттям при роботі з багатопоточнітю є потік. Потік предствляет деяку частину коду програми. При виконанні програми для кожного потоку виділяється певний квант часу. І за допомогою багатопоточності ми можемо виділити в додатку кілька потоків, які будуть виконувати різні завдання одночасно. Якщо у нас, припустимо, графічний додаток, яке посилає запит до якогось сервера або зчитує і обробляє величезний файл, то без багатопоточності у нас би блокувався графічний інтерфейс на час виконання завдання. А завдяки потокам ми можемо виділити відправку запиту або будь-яку іншу задачу, яка може довго оброблятися, в окремий потік. Тому, наприклад, клієнт-серверні додатки (і не тільки вони) практично не мислимі без багатопоточності.

  1   2   3   4   5   6   7   8   9   10

скачати

© Усі права захищені
написати до нас