2010-12-30 12 views

risposta

9

Penso che sia più utile leggere altre informazioni su quale sia la programmazione del flusso di dati. Imho, i ragazzi di Groovy GPars hanno alcuni dei migliori documenti su dataflow. I GPars mailing lists hanno avuto molte discussioni su dataflow vs CSP vs attori ecc. In passato ed è un ottimo posto per fare domande.

Alcuni altri link utili:

Il Clojure impl è piuttosto scarno, fondamentalmente costruzione variabili di flusso di dati in cima arbitri e funzioni su tali arbitri guardare. Potresti trovare l'effettivo code o lo tests più utile dei documenti.

L'esempio canonico citato con le variabili del flusso di dati è quello di un foglio di calcolo, in cui ogni variabile è una cella nel foglio di calcolo definita dai valori di altre celle. Quando una cella cambia, le modifiche si propagano in avanti in ordine di dipendenza. Le variabili dei flussi di dati stessi sono piuttosto limitate - penso che i flussi di flussi di dati siano dove l'idea diventa più interessante.

In un certo senso, l'idea di nodi di elaborazione leggeri pianificati su un set (di solito più piccolo) di thread fissi, ciascuno connesso da flussi simili a una coda descrive ad un livello molto alto tutti {stream di flussi di dati, attori, CSP}. L'obiettivo è in tutti i casi di mantenere un elevato throughput mantenendo i nodi che hanno lavoro da fare e senza sprecare cicli su nodi che non lo fanno AND per evitare che gli utenti gestiscano thread e lock espliciti (disaccoppiati tramite le code/streaming/canali tra loro).

+0

Dopo aver esaminato più a fondo l'API Clojure Dataflow, penso che abbiate ragione a dire che si tratta di "bare-bones". Sai se Rich ha in programma di spostare questo passato nella fase sperimentale? – Zubair

+0

Rich non l'ha scritto in anticipo. Non ho mai visto nessuno usarlo o menzionare eventuali aggiornamenti. Autore elencato come Jeffrey Straszheim. –

Problemi correlati