2016-08-15 2 views
0

У меня есть много сомнений по поводу дизайна простой программы python. Я открыл сокет с сервера, который передает данные через просто telnet-сервер. У меня есть 3 типа строк, которые начинаются с красной, голубой, желтой и после этой строки данных, пример:python programming socket socket to functions

КРАСНЫХ 21763; 22; 321321

СИНИХ 1; 32132; 3432

СИНИХ 1222 ; 332; 3

ЖЕЛТАЯ 1; 32132; 3432

Я хотел бы разделить данные в трех объектов, как очереди, а затем три вилки процесс сложные эти данные в параллельном тем временем они поступают в сокет в виде очень простого вычисления в реальном времени этих данных. Итак, чтобы достичь моей цели, shoud использует процесс thread/fork и объекты, подобные очередям для межпроцессных коммуникаций? Или есть какой-то другой подход, который я мог бы использовать? Я ничего не знаю о многопоточном программировании :) Спасибо за помощь.

ответ

0

This должно дать вам краткое представление о потоках против вилки.

Для создания потоков требуется намного меньше накладных расходов. Я бы пошел с нитевой архитектурой. Каждая из трех функций потока будет снабжена соответствующей очередью, на которой она должна выполнять вычисления в реальном времени. Использование механизмов синхронизации и взаимного исключения предотвратит непредвиденное поведение. Вы также можете использовать valgrind с drd для отладки вашей многопоточной программы.

+0

Спасибо за помощь! – egariM