In linea di massima, entrambi i quadri hanno obiettivi complementari ma diversi.
Il CCR offre primitive per il coordinamento di processi concorrenti. Il coordinamento è la colla che fa funzionare un gruppo di processi nel suo complesso - così il CCR offre primitive per lo scambio di messaggi attraverso i cosiddetti canali. I processi possono attendere l'arrivo di un messaggio su un canale, un numero di canali o uno qualsiasi di un numero di canali e così via. Questo è un paradigma particolare per il coordinamento di processi concorrenti che funziona bene. Nota anche che non è gratuito - devi acquistare separatamente da Microsoft.
Il TPL offre primitive e infrastruttura a parallelamente i calcoli o gli algoritmi in modo semi-automatico. Uno dei primitivi più ovvi è il parallelo per il ciclo: sembra un po 'come un ciclo for, ma tenta di eseguire il ciclo in parallelo.
Quindi, se si dispone di un gruppo di processi che si desidera coordinare a un livello superiore rispetto all'utilizzo di stati e blocchi condivisi, utilizzare il CCR. Se si dispone di un processo intensivo di calcolo che si desidera eseguire in modo efficiente su un computer multi-core, utilizzare il TPL.
fonte
2009-04-20 20:21:24
Leggi Erlang concorrenza, CCR è copia concorrenza Erlang, tipico modo in cui Microsoft. Task parellel è multi threading – mamu