Archive for category Parallel Programming

Маніпуляція завданнями (Task) в Task Parallel Library

Доброго вечора!! Я все таки розібрався з форматуванням коду на моєму блозі, і пере форматував всі попередні статті :). Тому, хто не міг читати їх через жахливе форматування, тепер можете сміливо приступати.

Сьогодні я напишу коротеньку статтю, яка знову буде відноситись до серії з статей по паралельному програмуванню в .NET Framework 4.0. Після закінчення написання цих статей, я складу структурований список, який дозволить вам вивчати Task Parallel Libraryта й взагалі паралельне програмування поступово.

Read the rest of this entry »

Advertisements

, , ,

Leave a comment

Task Parallel Library – Створення паралельних завдань

Доброго дня! Давно я не писав на своєму блозі, через те, що на даний момент я не маю можливості ставити плагіни для підсвічування коду і бажання відпало писати код, який не дуже легко читати читачам блогу. Але все-таки бажання з’явилось, коли Сергій Байдачний сказав почекати тиждень, і тоді вже буде якась інформація щодо безкоштовного хостингу для студентів. Поки користуємось тим, що маємо.

В попередніх статтях я писав про створення в Task Parallel Library циклів for і foreach, та деяку маніпуляцію з ними.

Отже в даній статті я напишу про деякі можливості, які нам надає TPL, і які безпосередньо пов’язані зі створенням та маніпулюванням завданнями, які можна запускати паралельно.

clip_image001

Read the rest of this entry »

, ,

3 Comments

Task Parallel Library – переривання паралельних циклів

Доброго ранку, ця стаття буде продовженням до попередньої, в якій розповідалось про використання паралельних методів For та ForEach.

В нашому розпорядженні є кілька перевантажень цих методів, які нам рано чи пізно прийдеться використовувати в наших програмах. Наприклад є така ситуація, в якій потрібно зупинити цикл при певних умовах, то в стандартних реалізаціях послідовних циклів використовується оператор break, який моментально перериває цикл. Наведу приклад:

Read the rest of this entry »

, , , ,

2 Comments

Task Parallel Library– цикли for та foreach

Багато персональних комп’ютерів та робочих машин мають багато ядер, які можна змусити працювати одночасно. В старіших версіях .NET Framework (до 4.0) потрібно було застосовувати класи, які потребували низькорівневої маніпуляції з потоками, синхронізаціями і т.д. На даний момент ця проблема вирішена і якщо ми маємо у своєму розпорядженні .NET Framework 4.0, то ми можемо застосувати нові типи даних для багатопотоковості та нові утиліти для діагностики.

Task Parallel Library

The Task Parallel Library (TPL) є набором типів в просторі імен the System.Threading та System.Threading.Tasks. Основною ціллю цих типів є спрощення у використанні паралелізму та черг в програмах. TPL використовує всі процесори, які є доступними в момент виконання, що робить програму дуже ефективною. Також використовуючи TPL ми можемо виставляти приорітети для виконання, скасовувати операції, керувати станом.

В даній статті я продемонструю як використовувати паралельні цикли For та ForEach.

Read the rest of this entry »

, ,

Leave a comment