Концепции: канал против потока

Есть ли концептуальная разница между терминами "Канал" и "Поток"? Требуют ли / определяют ли условия, например, допустимое количество одновременных Потребителей или Производителей?

В настоящее время я разрабатываю канал / поток данных DataFlowVariables, которые могут быть написаны одним производителем и прочитаны одним потребителем, поскольку реализация разрушительна / изменчива. Будет ли это канал или поток, есть ли разница?

Спасибо

3 ответа

Решение

Эти термины широко используются для многих и разнообразных понятий. Они примерно синонимичны и часто используются взаимозаменяемо.

В некоторых контекстах канал относится к подразделению большой среды связи. Например, радио- и телевизионные станции используют "каналы" для описания подхода мультиплексирования с частотным разделением к разделению сигналов. Протокол шины сообщений AMQP использует каналы для мультиплексирования трафика в течение сеанса TCP.

В информатике термин "канал" иногда относится к каналу, ориентированному на сообщения, между связанными конечными точками. CSP Тони Хоара (из которого взяты Occam, Limbo и Google's Go) используют каналы в качестве основной единицы связи и синхронизации.

Термин " поток", OTOH, имеет тенденцию больше ссылаться на байтово-ориентированный канал связи, такой как сокет TCP, который доставляет непрерывный поток байтов или символов без четкого разделения, отделяющего одно сообщение от другого.

"Канал" определяет, КАК вы передаете данные. "Поток" - это конкретные данные, передаваемые по одному каналу.

Я не совсем уверен, о чем ты говоришь, но...

Канал обычно относится к некоторому физическому построению или виртуальному пути для передачи чего-либо.

На самом деле поток - это нечто, передаваемое по каналу.

Есть ли в этом смысл?

Другие вопросы по тегам