Лабораторна робота №7. Робота з паралельними процесами в мові C



Мета: Ознайомитися з основами паралельного програмування на мові C, використовуючи бібліотеку pthreads.

Завдання:

  1. Створення паралельних потоків:

    • Напишіть програму, яка створює два паралельних потоки за допомогою бібліотеки pthreads.
    • Кожен потік повинен виводити свій ідентифікатор і номер потоку.
  2. Синхронізація потоків:

    • Реалізуйте програму, в якій два потоки повинні виконувати асинхронно обчислення числа Фібоначчі. Синхронізуйте їх так, щоб вони виводили результат в правильному порядку.
    • Виведіть результати обчислень на екран.
  3. Використання м'ютексів:

    • Модифікуйте попередню програму так, щоб використовувалися м'ютекси для синхронізації доступу до спільних ресурсів (наприклад, для захисту від обчислення одного і того ж числа Фібоначчі з багатьох потоків одночасно).
    • Переконайтеся, що програма працює правильно, і виведіть результати на екран.
  4. Паралельна обробка даних:

    • Реалізуйте програму, яка паралельно обробляє масив цілих чисел. Кожен потік повинен обробляти свою частину масиву (наприклад, сумувати елементи).
    • Переконайтеся, що результати обчислень вірні, і виведіть їх на екран.