Межпроцессное взаимодействие — методика для обмена данными
Дата публикации 05.08.2021
Межпроцессное взаимодействие — это методика научного набора для обмена данными между двумя или более процессами или потоками . Связь также может осуществляться между разными компьютерами, соединенными компьютерной сетью. МПК также может быть отнесен к mezithreadov коммуникации ( английскому между потоками связи ), а также взаимодействием приложений .
Методы IPC можно разделить на методы обмена сообщениями , синхронизации , совместной памяти и удаленного вызова процедур (RPC). Метод, используемый для IPC, может зависеть от пропускной способности данных , задержки связи между потоками и типа данных, которые должны быть переданы, и т.п.
Contents
Реализация
Различные методы межпроцессного взаимодействия могут быть реализованы либо непосредственно ядром операционной системы, либо с помощью библиотечных функций, которые извне используют метод, отличный от того, который используется для самореализации ( общая память обычно используется для самореализации ).
При программировании программист использует API (интерфейс приложения), который может быть стандартизирован (например, POSIX , единая спецификация UNIX ), может определяться соответствующей платформой ( Windows API , D-Bus ), но также может иметь полностью бесплатный или одноцелевой интерфейс.
Можно узнать об аренде выделенных серверов подробнее тут, чтоб не возникало перебоев в работе веб-ресурса. Немаловажно, чтоб ресурс всегда был в рабочем состоянии и работал как можно быстрее.
Примеры использования
В задачах, требующих большого объема вычислений, рекомендуется использовать все ядра и микропроцессоры компьютера, иногда расположенные даже на нескольких компьютерах. Поэтому уместно использовать многозадачность (мультипрограммирование), когда расчет выполняется несколькими процессами или потоками одновременно. Недостатком является разделение работы в самом начале расчета, поскольку неясно, какой объем данных будет обработан отдельными расчетами. Следовательно, межпроцессное взаимодействие обеспечивает связь между родительским процессом, который разделяет работу, и подчиненными процессами, которые выполняют свои собственные вычисления. После того как дочерний процесс обработает выделенные данные, он может запросить дополнительные данные для обработки.
HTTP-сервер Apache обычно обрабатывает множество запросов веб-браузера одновременно. Он запрограммирован как многопроцессорное приложение, в котором родительский процесс прослушивает сетевой порт и, когда поступает запрос, разделяет дочерний процесс, который берет на себя обслуживание веб-клиента и обработку его запроса. Эта модель значительно упрощает программирование, поскольку программисту не нужно решать работу нескольких клиентов с различной скоростью одновременно. В то же время, однако, для родительского процесса нецелесообразно создавать дочерний процесс до тех пор, пока не поступит запрос, потому что создание дочернего процесса является относительно трудоемкой и требовательной к вычислениям задачей. Следовательно, потомки создаются в соответствующем количестве (английский пул потоков) сразу в начале родительского процесса, и он постоянно назначает им задачи, используя межпроцессное взаимодействие.
Предыдущая