1
ТЕХНИЧЕСКИ УНИВЕРСИТЕТ - СОФИЯ
ФАКУЛТЕТ ПО КОМПЮТЪРНИ СИСТЕМИ И ТЕХНОЛОГИИ
Студент: Добромир Стефанов Стефанов
Фак. №: 121215019
Факултет: ФКСТ Подпис:
Специалност: КСИ
Поток: 1 Група: 39
I. Тема: Критични секции – пример .NET имплементация
II. Обща теория:
1. Процес – Процесът е съвкупност от памет, програмен стек и код на приложението:
- Процес и приложение са едно и също нещо;
- Процесите са съставени от една или повече нишки;
- Процесите са независими едни от други по отношение на памет и данни.
2. Нишка – Нишката е градивната структура на процеса, за разлика от процеса нишките
могат да споделят общи данни и памет.
3. Връзката между процес и нишка – Докато процесите съдържат изпълним код,
нишките го изпълняват, т.е. процесите са пасивни, а нишките – активни.
4. Как работят нишките? – Процесът се предоставя на всяка нишка за определен
интервал от време (квант), разпределението на времето се прави на базата на стратегии,
след изтичане на този квант се получава прекъсване и процесорът се изпълнява на
друга нишка (софтуерно прекъсване). Тези прекъсвания са синхронизирани и
предварително зададени.
5. Кога е удобно да се използват нишки? – Многонишкото обслужване е добре да се
използва при работа с много клиенти (пример: уеб сървър).
6. Проблеми, които настъпват при многонишково програмиране:
6.1. Race Condition – настъпва повреждане на данни, когато много нишки се опитват
да пишат в обща памет (пример: работа върху една променлива);
6.2. Deadlock – положение, което се получава когато две нишки, взаимно се изчакват за
освобождаване на дадени ресурси. Мъртва хватка не може да се получи, ако
споделеният ресурс е само един. Ако
Учебни материали
Споделени от колеги - с преглед преди изтегляне.
Програмиране и програмни езици
Операционни системи
Критични секции - .NET импементация
Преглед на първите от 3 страници.
Описание
ТУ СОФИЯ
Тема: Критични секции .NET имплементация;
Кодът е качен в GitHub.
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте