Задача состоит в том, что есть у меня процесс который табулирует функцию, сделать обчисление данной функции в 2х,4х,8х процессах, подскажите как реализовать данные условия.
Поскольку то, о чём вы спрашиваете, похоже на учебное задание, я не буду давать конкретный код, а дам просто общие намётки того, как я бы это делал.
Самый простой вариант — разделение работы в самом начале, при котором задача «протабулировать функцию» делится на 2 (или 4, или 8) подзадач. Вы запускаете управляющий процесс, который делит задание на части, запускает рабочие процессы, и собирает у них результат.
Например, если вам нужно протабулировать функцию на отрезке [a, b], вы можете поделить отрезок на 8 частей, и каждая часть будет представлять отдельную подзадачу табуляции. После этого вы запускаете 8 копий рабочего процесса, передавая им каждому свою подзадачу как входной параметр (например, через командную строку).
Вам нужно будет ещё подумать о сборе результатов. Например, если все процессы пишут в выходные файлы (путь к которым тоже бы неплохо передать на вход), в конце вам нужно будет собрать все результаты в один выходной файл.
Более сложный вариант — общение процессов через ту или иную разновидность IPC. Например, рабочие 8 процессов могут писать не в файл, а в выходной поток, ваш управляющий процесс должен будет перенаправить потоки ввода-вывода рабочих процессов, и собирать результат из них.
Ещё более продвинутый вариант — динамическое распределение нагрузки между рабочими процессами. Для этого вам нужна будет двусторонняя коммуникация с рабочими процессами. Вы запускаете ваши рабочие процессы, и выдаёте им задание на табуляцию маленькой части исходного отрезка. Тот процесс, который первым закончит, получает следующее задание. Таким образом, ни один рабочий процесс не будет простаивать.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости