Articles of concorrência

Qual é a diferença entre simultaneidade, paralelismo e methods asynchronouss?

concurrency é ter duas tarefas executadas em paralelo em encadeamentos separados. No entanto, os methods asynchronouss são executados em paralelo, mas no mesmo segmento 1. Como isso é conseguido? Além disso, e o paralelismo? Quais são as diferenças entre esses três conceitos?

Bloqueio, mutex, semáforo… qual a diferença?

Eu ouvi essas palavras relacionadas à programação simultânea, mas qual é a diferença entre elas?

Impossível criar um pool de threads em cache com um limite de tamanho?

Parece impossível criar um conjunto de encadeamentos em cache com um limite para o número de encadeamentos que ele pode criar. Aqui está como o Executors.newCachedThreadPool estático é implementado na biblioteca Java padrão: public static ExecutorService newCachedThreadPool() { return new ThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue()); } Portanto, usando esse modelo para criar um conjunto […]

O que é mutex e semáforo em Java? Qual é a principal diferença?

O que é mutex e semáforo em Java? Qual é a principal diferença?

Java Fork / Join vs ExecutorService – quando usar qual?

Acabei de ler este post: Qual é a vantagem de um ThreadPoolExecutor Java-5 sobre um ForkJoinPool Java-7? e senti que a resposta não é direta o suficiente. Você pode explicar em linguagem simples e exemplos, quais são os trade-offs entre o framework Fork-Join do Java 7 e as soluções antigas? Eu também li o hit […]

Melhor maneira no .net para gerenciar fila de tarefas em um segmento separado (único)

Eu sei que a programação assíncrona tem visto muitas mudanças ao longo dos anos. Estou um pouco envergonhado por ter me deixado enferrujar com apenas 34 anos, mas estou contando com o StackOverflow para me trazer à velocidade. O que eu estou tentando fazer é gerenciar uma fila de “trabalho” em um thread separado, mas […]

Qual é a diferença entre sincronizado em lockObject e usando isso como o bloqueio?

Eu sei a diferença entre o método sincronizado e o bloco sincronizado, mas não tenho certeza sobre a parte do bloco sincronizado. Supondo que eu tenha esse código class Test { private int x=0; private Object lockObject = new Object(); public void incBlock() { synchronized(lockObject) { x++; } System.out.println(“x=”+x); } public void incThis() { // […]

Como você consulta um pthread para ver se ainda está em execução?

No meu destruidor, quero destruir um thread de forma limpa. Meu objective é esperar que um thread termine de executar e, em seguida, destrua o thread. A única coisa que eu encontrei sobre a consulta do estado de um pthread é pthread_attr_setdetachstate, mas isso só diz se o seu segmento é: PTHREAD_CREATE_DETACHED PTHREAD_CREATE_JOINABLE Ambos não […]

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 […]