Karteikarten
Concurrent collections

Karten in diesem Stapel (10)
- 1O que são Concurrent Collections? Quais são?O .Net oferece algumas classes de coleção p/ uso em ambientes concorrentes (multithreading).
São coleções Thread-Safe => internamente utilizam sincronização p/ certificar que podem ser acessados por várias Threads aos msm tempo.
BlockingCollection
ConcurrentBag
ConcurrentDictionary
ConcurrentQueue
ConcurrentStack - 2BlockingCollection O que é? Como funciona?É um envólucro para outras coleções.
É Thread-safe para add e remover dados.
ADD é rápido, mas podemos definir um limite máximo superior. Ao atingi-lo, add um bloco de itens na Thread chamada até ter espaço na BlockingColleciton
REMOÇÃO de um item pode ser BLOQUEADA até que os dados tornem-se disponíveis.
Ex: uma coleção comum pode "explodir" em multithread, pois 1 item pode ser removido enquanto outra T está tentando acessar - 3BlockingCollection Exemplo

- 4BlockingCollection CompleteAddingÉ utilizado p/ sinalizar ao BlockingCollection que não há + itens p/ serem add.
Se outras Threads estão aguardando para add novos itens, elas NÃO ESTARÃO MAIS BLOQUEADAS - 5BlockingCollection GetConsumingEnumerable

- 6ConcurrentBag

- 7ConcurrentBag EnumeratingConcurrentBag

- 8ConcurrentStack

- 9ConcurrentQueue

- 10ConcurrentDictonary

Informationen
- Beschreibung
- Conceitos e exemplos sobre Concurrent collections
- Erstellt von
- Thiago Russo
- Aufrufe
- 8
- Bewertung