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

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





онується на кожному кроці циклу. Метод може бути як іменованих, так і анонімним. Також слід звернути увагу, що метод, який передається через параметр act, приймає не індекс оброблюваного в циклі масиву (як це було при використанні методу For ()), а значення або посилання на кожен оброблюваний елемент. br/>

.3 Паралелізм завдань


Паралелізм завдань забезпечує паралельне виконання двох або більше незалежних завдань. Паралелізм завдань був доступний і засобами класу Thread (вони описані в роботі Пономарьова А.А). Бібліотека паралельних завдань вносить ряд переваг в даний підхід побудови багатопотокового додатку. По-перше, TPL досить проста в застосуванні. А по-друге, використання бібліотеки паралельних завдань дозволяє автоматично масштабувати додаток на кілька процесорів, без складного управління потоками і завданнями явним чином. p align="justify"> Клас Parallel, про який вже згадувалося раніше, містить метод Invoke (), що дозволяє виконувати один або кілька методів паралельно.

public static void Invoke (params Action [] acts);

Кожен метод, який передається методу Invoke () не повинен приймати, ані повертати значення. Метод Invoke () спочатку ініціалізує виконання, а потім очікує завершення виконання всіх переданих йому методів. Це позбавляє програміста від необхідності використовувати метод Wait (), адже функцію очікування метод Invoke () берт на себе. Але з цим пов'язаний досить вагомий недолік, адже метод Invoke () забезпечує паралельне виконання лише методів, зазначених в параметрах, а от метод-батько призупиняється. Отже, можна зробити висновок, що побудувати паралельне виконання потоку-батька та дочірнього потоку за допомогою методу Invoke () не можна. p align="justify"> Однак є ще один значний недолік. У використанні даного підходу не можна вказати порядок виконання методів. Послідовність, в якій методи передаються в Invoke (), зовсім не визначає порядок їх виконання. До того ж TPL не підтримує можливість явної вказівки пріоритетів завдань (вони присвоюються автоматично планувальником завдань середовища. NET Framework). Це є дуже суттєвим недоліком бібліотеки паралельних завдань. Той факт, що управління потоками повністю контролюється планувальником завдань, з одного боку, значно полегшує роботу розробника програмного забезпечення, а з іншого, - робить систему управління потоками і завданнями менш гнучкою. Можливо саме тому, побудова багатопоточних додатків на основі класу Thread залишається як і раніше популярним. br/>

.4 Потенційні помилки, пов'язані з паралелізмом даних і завдань


У більшості випадків використання бібліотеки паралельних завдань може значно підвищити продуктивність програми. Проте використання паралелізму істотно підвищує складність коду програми. Відповідно зросте й імовірність виникнення помилок. У даній частині дослідної роботи будуть перерахова...


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





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

  • Реферат на тему: Розробка бюджету підприємства з урахуванням вирішення інвестиційних завдань ...
  • Реферат на тему: Розробка контрольних робіт з дисципліни &Алгебра&. Векторний метод у виріш ...
  • Реферат на тему: Розробка бази даних службових завдань для направлення у відрядження і звіта ...
  • Реферат на тему: Використання евристичних та економіко-математичних методів при вирішенні за ...
  • Реферат на тему: Розробка системи реального часу у вигляді планувальника виконання завдань