Perguntas com a marcação «concurrency»

Na ciência da computação, a simultaneidade é uma propriedade de sistemas nos quais vários cálculos podem ser executados em períodos de tempo sobrepostos. Os cálculos podem estar sendo executados em vários núcleos no mesmo chip, em threads compartilhados preventivamente no mesmo processador ou executados em processadores separados fisicamente.


17
O que é um impasse?
Ao escrever aplicativos multithread, um dos problemas mais comuns encontrados são os impasses. Minhas perguntas à comunidade são: O que é um impasse? Como você os detecta? Você lida com eles? E, finalmente, como você evita que elas ocorram?

5
O segmento de valores ConcurrentHashMap iterativo é seguro?
No javadoc para ConcurrentHashMap, é o seguinte: As operações de recuperação (incluindo get) geralmente não são bloqueadas, portanto, podem se sobrepor às operações de atualização (incluindo colocar e remover). As recuperações refletem os resultados das operações de atualização concluídas mais recentemente, mantidas após o início. Para operações agregadas, como putAll …

3
O HttpClient é seguro para uso simultâneo?
Em todos os exemplos que posso encontrar de usos HttpClient, ele é usado para chamadas pontuais. Mas e se eu tiver uma situação persistente de cliente, em que várias solicitações possam ser feitas simultaneamente? Basicamente, é seguro chamar client.PostAsync2 threads de uma só vez na mesma instância de HttpClient. Não …


5
Os métodos estáticos não sincronizados são seguros para threads se não modificarem variáveis ​​de classe estática?
Eu queria saber se você tem um método estático que não é sincronizado, mas não modifica nenhuma variável estática, é seguro para threads? E se o método criar variáveis ​​locais dentro dele? Por exemplo, o código a seguir é seguro para threads? public static String[] makeStringArray( String a, String b …

4
Greenlet vs. Tópicos
Eu sou novo em gevents e greenlets. Encontrei uma boa documentação sobre como trabalhar com eles, mas nenhuma me deu justificativa sobre como e quando devo usar os greenlets! No que eles são realmente bons? É uma boa ideia usá-los em um servidor proxy ou não? Por que não tópicos? …

10
Bom exemplo de livelock?
Eu entendo o que é livelock, mas eu queria saber se alguém tinha um bom exemplo disso baseado em código? E por código, não quero dizer "duas pessoas tentando passar uma da outra em um corredor". Se eu ler isso de novo, vou perder meu almoço.

12
É seguro obter valores de um java.util.HashMap de vários threads (sem modificação)?
Há um caso em que um mapa será construído e, uma vez inicializado, nunca será modificado novamente. No entanto, ele será acessado (apenas por meio de get (chave)) a partir de vários threads. É seguro usar um java.util.HashMapdessa maneira? (Atualmente, estou felizmente usando um java.util.concurrent.ConcurrentHashMape não tenho necessidade de melhorar …

4
Diferentes tipos de conjuntos seguros para threads em Java
Parece haver várias implementações diferentes e maneiras de gerar conjuntos seguros para threads em Java. Alguns exemplos incluem 1) CopyOnWriteArraySet 2) Collections.synchronizedSet (conjunto definido) 3) ConcurrentSkipListSet 4) Collections.newSetFromMap (new ConcurrentHashMap ()) 5) Outros conjuntos gerados de maneira semelhante a (4) Estes exemplos vêm das implementações Concurrency Pattern: Concurrent Set em …
135 java  concurrency  set 



6
Qual implementação de fila simultânea devo usar em Java?
No JavaDocs: Um ConcurrentLinkedQueue é uma escolha apropriada quando muitos threads compartilham o acesso a uma coleção comum. Essa fila não permite elementos nulos. ArrayBlockingQueue é um "buffer limitado" clássico, no qual uma matriz de tamanho fixo mantém elementos inseridos pelos produtores e extraídos pelos consumidores. Esta classe suporta uma …

8
Bloqueio de dicionário vs. ConcurrentDictionary
Não consegui encontrar informações suficientes sobre os ConcurrentDictionarytipos, então pensei em perguntar sobre isso aqui. Atualmente, eu uso a Dictionarypara manter todos os usuários que são acessados ​​constantemente por vários threads (de um pool de threads, portanto, não há quantidade exata de threads), e ele tem acesso sincronizado. Recentemente, descobri …

5
Quando usar o volátil com o multi threading?
Se houver dois threads acessando uma variável global, muitos tutoriais dizem tornar a variável volátil para impedir que o compilador armazene em cache a variável em um registro e, portanto, não seja atualizado corretamente. No entanto, dois threads que acessam uma variável compartilhada são algo que exige proteção através de …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.