У меня есть устройство ARM, работающее под ядром Linux 2.6, с общим RAM объемом 64 МБ.Должен ли я использовать процессы или потоки для моего приложения?
Существует источник данных, который состоит из счетчика, запрашиваемого ящиком Linux, через RS485 и ModBus в качестве протокола приложения.
Есть еще одна задача, состоящая в том, чтобы прочитать эти значения и сделать объект json, а затем HTTP POST на конкретный сервер.
Работа в сети может быть медленнее, чем серийный, особенно при низком покрытии GPRS.
мне нужно параллелизм, программа написана на C.
Какой путь вы бы параллелизм? С помощью select() или с помощью pthreads?
Так вы предлагаете использовать 2 процесса? Таким образом, существует 3 варианта: 1) Ручные потоки по одному процессу. 2) select() в одном процессе. 3) Использовать 2 процесса. – jacktrades
Да, с помощью select это боль, и потоки тоже могут быть и здесь не нужны. – psusi
@jacktrades, в этом случае я бы предположил, что самое простое дело в том, чтобы процесс последовательного порта был родительским ... читайте последовательный порт, и как только у вас есть образец, 'fork()' и пусть фоновый процесс будет заботиться отправки его на веб-сервер, в то время как передний план возвращается к чтению из последовательного порта. – psusi