O segmento de vetor é seguro em Java?
O segmento de vetor é seguro em Java?

Vídeo: O segmento de vetor é seguro em Java?

Vídeo: O segmento de vetor é seguro em Java?
Vídeo: Thread (entenda como sua aplicação funciona) // Dicionário do Programador 2024, Novembro
Anonim

Vetor métodos são todos sincronizados. Então, usando-o de vários tópicos é " seguro ". Você só precisa sincronizar se precisar que um processo de leitura-avaliação-gravação seja atômico. Sincronizar seus próprios métodos não necessariamente torna seu código fio - seguro para esses cenários.

Tendo isso em mente, o thread de lista é seguro em Java?

Na verdade, todas as classes de coleção (exceto Vector e Hashtable) no Java . pacote util não são fio - seguro . É por isso que o novo coleções ( Lista , Set, Map, etc) não fornecem nenhum controle de simultaneidade para fornecer desempenho máximo em aplicativos de thread único.

Da mesma forma, qual coleção é thread-safe em Java? UMA fio - seguro classe é uma classe que garante o estado interno da classe, bem como os valores retornados dos métodos, estão corretos enquanto chamados simultaneamente de vários tópicos . o coleção classes que são fio - seguro em Java são Stack, Vector, Properties, Hashtable, etc.

Levando isso em consideração, o thread Java HashSet é seguro?

HashSet não é thread safe HashSet no Java não é discussão segura pois não é sincronizado por padrão. Se você estiver usando HashSet em um ambiente multi-threaded onde é acessado por vários tópicos simultaneamente e estruturalmente modificados também por um único fio então, ele deve ser sincronizado externamente.

Qual é ArrayList ou vetor thread-safe?

Vetor é lento como é discussão segura . Em comparação ArrayList é rápido porque não está sincronizado. Assim em ArrayList dois ou mais tópicos pode acessar o código ao mesmo tempo, enquanto Vetor é limitado a um fio de uma vez. UMA Vetor o padrão é dobrar o tamanho de sua matriz.

Recomendado: