| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > взаимодействие двух проектов |
| Автор: YoungLady 18.6.2007, 11:21 |
| Проблема следующая: существует необходимость отделить интерфейсную часть программы от основной части , в которой производится обработка данных. причем оформлено это должно быть в два выполняемых файла. Вопрос состоит в том, какими средствами может быть организована передача данных между ними в однопроцессорной системе. |
| Автор: MAKCim 18.6.2007, 11:59 | ||
на уровне пользователя YoungLady, взаимодействие должно быть односторонним или двусторонним? если односторонним, тогда канал - лучший выбор, иначе очереди сообщений (с двумя типами сообщений) можно общую память использовать (самый быстрый способ), но тогда придется прикручивать семафоры и разрабатывать структуру хранения данных |
| Автор: YoungLady 18.6.2007, 13:20 | ||
взаимодействие должно быть двусторонним... |
| Автор: MAKCim 18.6.2007, 15:38 |
| YoungLady, тогда очереди сообщений |
| Автор: YoungLady 18.6.2007, 16:14 |
| MAKCim Правильно ли я понимаю, что очередь сообщений и именованные каналы (FIFO) - это одно и то же? |
| Автор: MAKCim 18.6.2007, 16:27 |
| YoungLady, нет, это разные вещи... совсем разные |
| Автор: archimed7592 18.6.2007, 16:40 |
| MAKCim, а чем pipeline в двустороннем способе взаимодействия плох? |
| Автор: MAKCim 18.6.2007, 16:59 |
| archimed7592, много подводных камней и возможность взаимоблокировок по этому поводу есть целая глава в http://oz.by/books/more1016304.html в общем случае каналы не предназначены для двустороннего взаимодействия в данном случае очереди сообщений подходят, имхо, лучше всего: будет два типа сообщений (например 0 и 1), первый процесс пишет в очередь сообщение типа 0 и читает сообщение 1, в свою очередь второй процесс читает сообщение 0 и пишет сообщение 1 фишка очередей сообщений в том, что ядро осуществляет сортировку по типу сообщения с возможностью чтения по различным условиям |
| Автор: smalcom 20.6.2007, 10:40 |
| сокеты тож удобная фиха. стартового кода канеша поднабрать придецу, но зато птом благодать. ну и плюс програмки могуть на разных тачках быть |
| Автор: MAKCim 20.6.2007, 11:23 |
| smalcom, ну да если сеть не нужна, лучше тогда unix domain sockets использовать |