Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка програми, що демонструє багатопоточність для одного процесора

Реферат Розробка програми, що демонструє багатопоточність для одного процесора





ка паралельних завдань або Task Parallel Library (або TPL). Ця бібліотека вносить чимало змін, що стосуються паралельного програмування. Дані зміни стосуються як основ організації багатопоточності в C #, так і В«поверхневихВ» нововведень, таких як зміна або введення нових методів, які значно спрощують процес створення багатопотокового додатку. p align="justify"> Дуже важливо звернути увагу на те, що кошти, надані бібліотекою паралельних завдань, не є повним заміщенням стандартного механізму реалізації багатопоточності, а лише доповнюють його. Практично всі стандартні механізми побудови багатопотокового додатку (вони описані в роботі Пономарьова А.А) застосовні і до засобів бібліотеки TPL. br/>

.1 Основні нововведення TPL


Бібліотека TPL визначена в просторі імен System.Threading.Tasks.

Слід звернути увагу, що дуже часто в програму включають і клас System.Threading. Це обумовлено тим, що використання бібліотеки TPL для організації багатопотокової обробки є рекомендованим, але не обов'язковим. Побудова многопотчного додатки з використанням класу Thread і раніше знаходить широке застосування. Більше того, бібліотека паралельних завдань має ряд істотних недоліків, про які надалі буде розказано більш докладно. Ці недоліки можуть бути усунені стандартними методами організації багатопоточності. p align="justify"> В основу TPL покладено клас Task (визначений у просторі імен System.Threading.Tasks), і елементарна одиниця виконання инкапсулируется засобами цього класу, а не класу Thread. Одне з фундаментальних відмінностей бібліотеки паралельних завдань полягає в тому, що клас Task НЕ інкапсулює потік виконання, як це робить клас Thread. Клас Task є абстракцією, що представляє асинхронну операцію, але в деякому роді завдання сама по собі нагадує створення потоку. p align="justify"> Завдання мають над потоками дві основні переваги. По-перше, це більш масштабоване та ефективне використання системних ресурсів. У фоновому режимі завдання поміщаються в чергу ThreadPool, яка вдосконалена за допомогою спеціальних алгоритмів. Ці алгоритми (пошук екстремуму, перенесення навантаження і т.д.) визначають і налаштовують кількість потоків так, щоб найкращим способом підвищити продуктивність програми. По-друге - більший програмний контроль в порівнянні з потоком. Завдання підтримують такі API інтерфейси як очікування, скасування, продовження і багато іншого. p align="justify"> Ще однією відмінністю класу Task від класу Thread є зміна підходу до ідентифікації потоку. Якщо для класу Thread використовувалася властивість Name, доступне як для запису, так і для читання, то в класі Task це властивість відсутня. Натомість йому було додано властивість Id, що належить типу int і доступне лише для читання. Воно оголошується наступним образом.int Id {get;}

Властивість Id має ряд переваг над властивістю Name. По-перше, якщо об'єкту типу Thread не поставити вл...


Назад | сторінка 4 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Клас птахи, загальна характеристика класу
  • Реферат на тему: Інтегрований урок читання (1 клас), історії (3 клас)
  • Реферат на тему: Вивчення паралельних методів решение Завдання матричного множення
  • Реферат на тему: Розвиток логічного мислення в учнів першого класу за допомогою вирішення за ...
  • Реферат на тему: Прикладне додаток &Розробка проекту для створення нового класу Auto і елеме ...