lab 4 Java, variant 19
==============
Завдання.
Розв’язки задач повинні бути запрограмовані мовою C/C++ та містити повний комплект модулів (файлів, проектів тощо), а також тестових файлів – за потреби, для демонстрації всіх запитуваних можливостей.
Спільна умова для варіантів 1 – 21.
Програми (процеси, потоки – згідно варіанту задачі), що реалізують функції f(x) і g(x), займаються тільки обчисленням значення над вхідним аргументом, вони не обробляють ніяких інших запитів (у тому числі – про завершення обчислень) і не взаємодіють з іншими процесами та потоками ні в який інший спосіб, окрім викликів обчислень f(x) і g(x) (тобто запуску функції на обчислення) та повернення результату (коли обчислення результату завершено) – див. малюнок нижче.
- Взаємодія потоків. Паралелізм. Спільна пам’ять. Обчислити f(x) * g(x), використовуючи 2 допоміжні потоки: один обчислює f(x), а інший – g(x). Основна програма виконує ввод-вивід та операцію *. Використати спільну пам’ять (shared memory) для взаємодії. Функції f(x) та g(x) “нічого не знають друг про друга” і не можуть комунікувати ні між собою.