Лабораторна робота №7. Робота з паралельними процесами в мові C
Мета: Ознайомитися з основами паралельного програмування на мові C, використовуючи бібліотеку pthreads.
Завдання:
Створення паралельних потоків:
- Напишіть програму, яка створює два паралельних потоки за допомогою бібліотеки pthreads.
- Кожен потік повинен виводити свій ідентифікатор і номер потоку.
Синхронізація потоків:
- Реалізуйте програму, в якій два потоки повинні виконувати асинхронно обчислення числа Фібоначчі. Синхронізуйте їх так, щоб вони виводили результат в правильному порядку.
- Виведіть результати обчислень на екран.
Використання м'ютексів:
- Модифікуйте попередню програму так, щоб використовувалися м'ютекси для синхронізації доступу до спільних ресурсів (наприклад, для захисту від обчислення одного і того ж числа Фібоначчі з багатьох потоків одночасно).
- Переконайтеся, що програма працює правильно, і виведіть результати на екран.
Паралельна обробка даних:
- Реалізуйте програму, яка паралельно обробляє масив цілих чисел. Кожен потік повинен обробляти свою частину масиву (наприклад, сумувати елементи).
- Переконайтеся, що результати обчислень вірні, і виведіть їх на екран.