Концепции: канал против потока
Есть ли концептуальная разница между терминами "Канал" и "Поток"? Требуют ли / определяют ли условия, например, допустимое количество одновременных Потребителей или Производителей?
В настоящее время я разрабатываю канал / поток данных DataFlowVariables, которые могут быть написаны одним производителем и прочитаны одним потребителем, поскольку реализация разрушительна / изменчива. Будет ли это канал или поток, есть ли разница?
Спасибо
3 ответа
Эти термины широко используются для многих и разнообразных понятий. Они примерно синонимичны и часто используются взаимозаменяемо.
В некоторых контекстах канал относится к подразделению большой среды связи. Например, радио- и телевизионные станции используют "каналы" для описания подхода мультиплексирования с частотным разделением к разделению сигналов. Протокол шины сообщений AMQP использует каналы для мультиплексирования трафика в течение сеанса TCP.
В информатике термин "канал" иногда относится к каналу, ориентированному на сообщения, между связанными конечными точками. CSP Тони Хоара (из которого взяты Occam, Limbo и Google's Go) используют каналы в качестве основной единицы связи и синхронизации.
Термин " поток", OTOH, имеет тенденцию больше ссылаться на байтово-ориентированный канал связи, такой как сокет TCP, который доставляет непрерывный поток байтов или символов без четкого разделения, отделяющего одно сообщение от другого.
"Канал" определяет, КАК вы передаете данные. "Поток" - это конкретные данные, передаваемые по одному каналу.
Я не совсем уверен, о чем ты говоришь, но...
Канал обычно относится к некоторому физическому построению или виртуальному пути для передачи чего-либо.
На самом деле поток - это нечто, передаваемое по каналу.
Есть ли в этом смысл?