У меня длительный процесс, который непрерывно читается из telnet-порта и может иногда писать на него. Иногда я хочу отправить ему HTTP-запрос, чтобы получить информацию, прочитанную с момента последнего запроса. Иногда я могу отправить HTTP-запрос для записи определенных данных в другой telnet-порт.
Должен ли я сделать это с помощью двух потоков, и если это так, я должен использовать мьютекс или очередь команд. Как вы все-таки нанизаны на колбу? Должен ли я использовать многопроцессорность? Что-то еще?
Причина, по которой я прошу об этом, - это проблема с аналогичной проблемой (но последовательные порты вместо telnet-порта и непосредственно в приложении вместо локальной/удаленной HTTP-службы), и в конечном итоге поток данных, не содержащих данные, почти никогда не был даже когда я вставил тонны вызовов сна. Я закончил переписывать его с мьютекса на очереди, а затем на использование многопроцессорных w/queues.
Изменить: порты telnet - это соединения с приложением, которое передает (в основном, считывает данные отладки) с помощью аппаратного обеспечения (принтера). К HTTP-службе флэша, которую я хочу написать, будет доступен при тестировании, выполняющемся против принтера (либо на том же компьютере, либо на другом компьютере, а затем на HTTP-службе), ни одна из них не связана с веб-браузером!