Eu fiz este exercício na uni: Escreva um programa que declare um contador inteiro compartilhado e depois crie dois threads, um dos quais tenta incrementar o contador 1000 vezes e o outro tenta decrementar o contador 1000 vezes. Quando cada thread terminar o loop, deverá imprimir o valor final do contador. (Dica: você precisará definir […]
Eu estou tentando fazer isso usando dois tópicos como abaixo. Alguém pode apontar o erro óbvio que estou fazendo aqui? public class OddEven { public static boolean available = false; public static Queue queue = new LinkedList(); static Thread threadEven = new Thread() { @Override public void run() { printEven(); } public synchronized void printEven() […]
Estou implementando uma API muito básica para ter um controle melhor sobre ServerSocket e Sockets, mas estou em um problema muito estranho que não posso corrigir devido à minha falta de conhecimento de threads. Deixe-me explicar isso. Na minha class SocketStreamReceiver eu uso um thread secundário para ouvir novos sockets com ServerSocket#accept() . Existem 2 […]
um loop de jogo em um programa java deve sempre ser executado no encadeamento de envio de events? Porque meus keylisteners estão rodando no thread de events AWT e eu quero que os key events sejam processados no mesmo thread que o resto do jogo para evitar bugs baseados em threads. Se eu não executar […]
Como faço para garantir em um caso de teste JUnit, que todos os threads gerados direta / indiretamente pelo método em teste são feitos com o trabalho, para que eu possa afirmar o resultado final? @Test public void testMethod() { Result result=method();// may spawn multiple threads to set result.value Assert.assertTrue(result.getValue()==4); //should execute only after result.value […]
Meu programa é assim: public class Main { private static ArrayList list; public static void main(String[] args) { new DataListener().start(); new DataUpdater().start(); } static class DataListener extends Thread { @Override public void run() { while(true){ //Reading the ArrayList and displaying the updated data Thread.sleep(5000); } } } static class DataUpdater extends Thread{ @Override public void […]
Eu quero ler de vários arquivos e gravá-los em um único arquivo usando multithread. Eu fiz algum código que está lendo conteúdo de arquivos perfeitamente bem e os escrevendo em outro arquivo. Mas meu problema é que os dados não estão chegando sequencialmente. Como ler f1 e escrever no arquivo de saída, leia f2 e […]
Desde que li o livro Java Concurrency in Practice, fiquei me perguntando como eu poderia usar a imutabilidade para simplificar os problemas de synchronization entre os threads. Eu entendo perfeitamente que um object imutável é seguro para threads . Seu estado não pode mudar após a boot, portanto, não pode haver “estados mutáveis compartilhados”. Mas […]
Problema: eu tenho coleção de threads começam em um loop parallelly. Depois de sair de qualquer um dos threads primeiro, todos os outros threads em execução devem ser terminados. Isso é o que eu tentei, mas não funciona. Qualquer ajuda é apreciada. public class ThreadsMain { public static void main(String[] args) { int SIZE = […]
Eu estou usando um LinkedHashMap e o ambiente é multi threaded para que essa estrutura precise ser thread-safe. Durante events específicos, eu preciso ler todo o mapa push para db e limpar tudo. Na maioria das vezes, apenas as gravações acontecem nesse mapa. Este mapa tem um limite de 50 inputs. Estou usando o Oracle […]