2010-05-11 3 views
6

Y a-t-il une différence conceptuelle entre les termes "Canal" et "Flux"? Est-ce que les conditions exigent/déterminent, par exemple, le nombre autorisé de consommateurs ou de producteurs concurrents?Concepts: Canal vs. Flux

Je développe actuellement un canal/flux de DataFlowVariables, qui peut être écrit par un producteur et lu par un consommateur la mise en œuvre est destructrice/mutable. Serait-ce une chaîne ou un cours d'eau, y a-t-il une différence?

Merci

Répondre

7

Ces termes sont largement utilisés pour des concepts nombreux et variés. Ils sont à peu près synonymes et souvent utilisés de manière interchangeable.

Dans certains contextes, un canal se réfère à une subdivision d'un grand support de communication. Par exemple, les stations de radio et de télévision utilisent des «canaux» pour décrire l'approche de multiplexage par répartition en fréquence des signaux de séparation. Le protocole de bus de messages AMQP utilise des canaux pour multiplexer le trafic sur une session TCP.

En informatique, le terme canal fait parfois référence à un canal orienté message entre des points d'extrémité communicants. Le CSP de Tony Hoare (d'où sont dérivés Occam, Limbo et Google's Go) utilise les canaux comme unité fondamentale de communication et de synchronisation.

Le terme courant, OTOH, tend à se référer plus à un tuyau de communication orienté octet, par exemple un socket TCP, qui délivre un flux continu d'octets ou de caractères, sans subdivision claire qui sépare une message d'un autre .

+3

OTOH = d'autre part; Je pensais que cela pourrait sauver un peu de temps googling pour les locuteurs non natifs comme moi. – lyomi

+0

@lyomi: C'est deux clics de souris. La réponse est _in_ la page de résultats. –

2

Je ne suis pas sûr de ce que vous parlez, mais ...

Un canal se réfère généralement à une construction physique ou virtuelle voie pour diffuser quelque chose à travers.

Un flux est en fait quelque chose qui est en train d'être diffusé par un canal.

Est-ce que cela a un sens?

2

Le "Canal" détermine COMMENT vous transmettez des données. Le "flux" est la donnée concrète transmise par un canal.