Articles of concorrência

Executors.newCachedThreadPool () versus Executors.newFixedThreadPool ()

newCachedThreadPool() versus newFixedThreadPool() Quando devo usar um ou outro? Qual estratégia é melhor em termos de utilização de resources?

Por que não há ConcurrentHashSet contra ConcurrentHashMap

O HashSet é baseado no HashMap. Se olharmos para a implementação do HashSet , tudo foi gerenciado sob HashMap . é usado como uma chave do HashMap . E sabemos que o HashMap não é thread-safe. É por isso que temos o ConcurrentHashMap em Java. Com base nisso, estou confuso porque não temos um ConcurrentHashSet […]

O que será usado para troca de dados entre threads estão sendo executados em um Core com HT?

A tecnologia Hyper-Threading é uma forma de tecnologia de multithreading simultânea introduzida pela Intel. Esses resources incluem o mecanismo de execução, caches e interface de barramento do sistema; o compartilhamento de resources permite que dois processadores lógicos trabalhem uns com os outros com mais eficiência e permite que um processador lógico bloqueado peça resources do […]

Qual seria melhor para tarefas simultâneas em node.js? Fibras Trabalhadores da Web? ou Threads?

Eu tropecei no node.js há algum tempo e gostei muito dele. Mas logo descobri que faltava muito a capacidade de realizar tarefas intensivas de CPU. Então, comecei a pesquisar e obtive essas respostas para resolver o problema: Fibers, Webworkers e Threads (thread-a-gogo). Agora qual deles usar é uma confusão e um deles definitivamente precisa ser […]

Atomic UPDATE .. SELECT no Postgres

Eu estou construindo um tipo de mecanismo de enfileiramento. Existem linhas de dados que precisam de processamento e um sinalizador de status. Estou usando uma update .. returning cláusula para gerenciá-lo: UPDATE stuff SET computed = ‘working’ WHERE id = (SELECT id from STUFF WHERE computed IS NULL LIMIT 1) RETURNING * A parte de […]

Solicitações simultâneas de NSURLSession com o Alamofire

Estou com algum comportamento estranho com o meu aplicativo de teste. Tenho cerca de 50 solicitações GET simultâneas que eu envio para o mesmo servidor. O servidor é um servidor incorporado em um pequeno hardware com resources muito limitados. Para otimizar o desempenho de cada solicitação, configuro uma instância do Alamofire.Manager seguinte maneira: let configuration […]

Django: Como posso proteger contra a modificação simultânea de inputs de database

Se existe uma maneira de proteger contra modificações simultâneas da mesma input da base de dados por dois ou mais usuários? Seria aceitável mostrar uma mensagem de erro ao usuário que está executando a segunda operação de confirmação / salvamento, mas os dados não devem ser sobrescritos silenciosamente. Acho que bloquear a input não é […]

A iteração de valores do ConcurrentHashMap é segura para encadeamento?

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 mais recentes concluídas no início. Para operações agregadas, como putAll e clear, as recuperações simultâneas podem refletir […]

O que é um mutex?

Um mutex é um conceito de programação que é freqüentemente usado para resolver problemas de multi-threading. Minha pergunta para a comunidade: O que é um mutex e como você o usa?

Coordenando a execução paralela em node.js

O modelo de programação orientada a events do node.js torna um pouco complicado coordenar o stream do programa. A execução sequencial simples é transformada em retornos de chamada nesteds, o que é bastante fácil (embora um pouco complicada para escrever). Mas como sobre a execução paralela? Digamos que você tenha três tarefas A, B, C […]