Domanda

Qualcuno può spiegare perché e come vorrei utilizzare l'API di programmazione Clojure Dataflow come io non riesco a trovare molto su di esso su internet.

È stato utile?

Soluzione

Credo che sia più utile leggere altre informazioni su ciò che a flusso di dati di programmazione è. IMHO, il Groovy GPars ragazzi hanno alcuni dei migliori documentazione su flusso di dati . I GPars mailing list hanno avuto un sacco di discussione su flusso dati vs CSP vs attori ecc in passato ed è un ottimo posto per fare domande.

Alcuni altri link utili:

Il Clojure impl è piuttosto scarno, in pratica costruendo variabili di flusso di dati in cima refs e guardare le funzioni su tali rif. Si potrebbe trovare il codice vero e proprio href="https://github.com/clojure/clojure-contrib/blob/master/modules/dataflow/src/main/clojure/clojure/contrib/dataflow.clj"> o le prove di href="https://github.com/clojure/clojure-contrib/blob/master/modules/dataflow/src/test/clojure/clojure/contrib/test_dataflow.clj"> più utile la documentazione.

L'esempio canonico citata con flusso di dati variabili è quella di un foglio di calcolo, in cui ogni variabile è una cella nel foglio definito dai valori di altre celle. Quando cambia una cella, i cambiamenti ripple in avanti in ordine di dipendenza. Flusso di dati variabili stesse sono un po 'limitati anche se -. Credo che i flussi di flusso di dati sono dove l'idea diventa più interessante

In un certo senso, l'idea di nodi di elaborazione leggeri linea su uno (solitamente più piccolo) gruppo di fili fissi, ciascuno collegato da coda simile flussi descrive ad un livello molto elevato tutti {dataflow flussi, attori, CSP}. L'obiettivo è in ogni caso di mantenere un elevato throughput, mantenendo nodi che hanno del lavoro da fare lavorare e non sprecare cicli sui nodi che non e agli utenti evitare di gestire le discussioni esplicite e serrature (disaccoppiato tramite le code / flussi / canali tra di loro ).

scroll top