Este artigo analisa o uso e o uso simultâneo em Java em detalhes. Compartilhe para todos para sua referência. A análise específica é a seguinte:
1. O recipiente síncrono inclui duas partes: vetor e hashtable
O outro é uma classe de embalagem síncrona, criada por coleções. O contêiner síncrono entrevista todos os estados do contêiner para alcançar a segurança do encadeamento.
Eles têm os seguintes problemas:
a) Para operação, é necessária proteção adicional de bloqueio. Por exemplo, condições iterativas e ausentes, como adicionar.
b) ToString, HashCode, é igual indiretamente indiretamente iterativo e você precisa prestar atenção à simultaneidade.
2. Contêiner simultâneo em Java5.0.
ConcurrentHashMap pode substituir a implementação do mapa síncrono.
Quando é lido principalmente, o copywriteArrayList é uma implementação síncrona da lista.
Ao mesmo tempo, fila e bloqueio: ConcurentLinkedQuee: FIFO Fila.
PriorityQueue: fila de prioridade não -meragista.
BlockingQueue aumentou o bloqueio e a aquisição de bloqueio.
a) Concurrenthashmap: não é uma trava pública, mas uma fechadura separada. Qualquer número de threads de leitura pode ser acessado simultaneamente, leitores e escritores também podem acessar o mapa simultaneamente, e o número limitado de escrita também pode modificar o mapa simultaneamente. No entanto, o tamanho e a linguagem isempty são enfraquecidos, o que é estimado.
b) copywriteArraylist: o iterador mantém uma referência de matriz base de liga inferior e a referência não será modificada.
3. Sincronizador
a) Countdownlatch. O parâmetro construtor é n, após a contagem regressiva, n é 0 e todos os threads aguardam continuam a executar.
b) FutureTask: Calcule o Runnable, que pode ser implementado por chamadas e pode levar o resultado. Incluindo: Espere, corra e completo.
c) Semáforo: o número de atividades que podem ser acessadas ao mesmo tempo
d) CyclicBarrier: semelhante à atresia. A fechadura está esperando o incidente e o nível está aguardando outros threads. Os threads n, runnable r, n são aguardados ().
Espera -se que este artigo seja útil para o design do programa Java de todos.