7 Kasım 2014 Cuma

Task Parallel Library Data Flow

Task Parallel Library Data Flow (TPDL) Actor tabanlı bir çatı.

Actor Nedir?
Actor çatısı block ve pipeline kavramları üzerine inşa edilir. Actor tek thread'i ve bir kuyruğu olan bileşendir.

Actor şöyle tanımlanıyor.
"An actor is a completely isolated component that runs in its own thread. An actor doesn't have more than one thread and there's no concurrency to worry about as there's no shared state between actors. Each actor has its own copy of the data that it needs. Multiple actors can be composed together in a system and can talk to each other by passing messages between them."

TPDL kapsamında Actor yerine Block kelimesi kullanılıyor. Her block'un bir "buffer" ve bir de "task" bileşeni vardır.

Blocklar Birbilerine Nasıl Eklenir
Blokları birbirlerine eklemek için LinkTo metodu kullanılır.

Blocklar Nasıl Sonlandırılır
Block'ların Complete() metodunun çağırılması gerekir. Bir Block'un Comlete() metodu çağırılınca, bağlı olduğu diğer Block'ların da Complete() metodu tetiklenir.

Data Source Nedir?
Data Source TPDL ile kurulan bloklar için girdi üretir. InputBlock data source'tan veri okur ve pipeline'a sokar.

BufferBlock, BroadcastBlock gibi sınıflar veri üretirler.

ActionBlock
Her eklenen veri için bir action çağırır




Hiç yorum yok:

Yorum Gönder