Форум Поща Карта на сайта Търсене Връзки Контакти
Начало Обучение Избираеми дисциплини Oбщ списък на избираемите дисциплини и практикуми Многонишково програмиране в С#    English
Факултет по математика и информатика - Многонишково програмиране в С#

 Лектори доц. д-р Елена Сомова
Анотация
В курса ще се разгледа многозадачността в съвременните опе¬рационни системи и средствата за паралелно изпълнение на програ¬мен код, които предоставя .NET Framework. Ще се представят ниш¬ките, техните състояния и управлението на техния жизнен цикъл – стартиране, приспиване, събуждане, прекратяване и др. Студентите ще се запознаят със средствата за синхронизация на нишки при достъп до общи данни, както и начините за изчакване на зает ресурс и известяване при освобождаване на ресурс. Ще бъдат разгледани синхронизационните обекти в .NET Framework, както и неуправляваните синхронизационни обекти на операционната система. В курса ще се изясни концепцията за работа с вградения в .NET Framework пул от нишки, начините за асинхронно изпълнение на задачи, сред¬ствата за контрол над тяхното поведение и препоръчваните практики за работа с тях. За изучаване на този курс, студентите е необходимо да имат базови познания за езика C# и .NET Framework.
Съдържание
  1. Многозадачност. Видове многозадачност. Имплементации на многозадачност. Домейни на приложението.
  2. Нишки. Клас Thread.
  3. Приоритет на нишките.
  4. Жизнен цикъл на нишките. Състояния на нишките.
  5. Контейнер за локални данни на нишките.
  6. Статични полета, свързани с нишките.
  7. Проблеми при работа с общи данни. Повреждане на данни. "Мъртвата хватка".
  8. Синхронизация. Стратегии за синхронизация.
  9. Синхронизиране на критични секции от код.
  10. Синхронизиране на ниво клас. Синхронизирани контексти.
  11. Неуправлявана синхронизация.
  12. Класически синхронизационни проблеми. Задачата "Производител - потребител". Задачата "Четци и писачи". Задачата "Обядващи философи".
  13. Пул от нишки. Клас ThreadPool.
  14. Таймери.
  15. Асинхронни извиквания. Асинхронни извиквания на методи и приложения.
  16. Асинхронно извикване чрез делегат.
  17. Модел за асинхронни извиквания. Приключване на асинхронен метод.

Литература:

  • Михаил Стойнов, Многонишково програмиране и синхронизация, http://www.nakov.com/dotnet/lectures/Lecture-16-Concurrency-v1.0.ppt.
  • Светлин Наков и колектив, Програмиране на .NET FRAMEWORK (том 2), Българска асоциация на разработчиците на софтуер (БАРС), 2006, ISBN 978-954-775-672-4.
  • Juval Lowy, "Programming .NET Components", O’Reilly, 2003, ISBN 0596003471.
  • Tom Archer, Andrew Whitechapel, "Inside C# 2nd Edition", Microsoft Press, 2002, ISBN 0735616485.
  • MSDN Library – http://msdn.microsoft.com.
Актуално
Още новини
Архив на новините
© 2009 ФМИ