Articles of multithreading de

Threads vs Processos no Linux

Recentemente, ouvi algumas pessoas dizerem que, no Linux, é quase sempre melhor usar processos em vez de threads, já que o Linux é muito eficiente no tratamento de processos e porque há muitos problemas (como bloqueio) associados a threads. No entanto, eu sou suspeito, porque parece que os tópicos podem dar um ganho de desempenho […]

Como corretamente shutdown java ExecutorService

Eu tenho um simples java ExecutorService que executa alguns objects de tarefa (implementa Callable ). ExecutorService exec = Executors.newSingleThreadExecutor(); List tasks = new ArrayList(); // … create some tasks for (CallableTask task : tasks) { Future future = exec.submit(task); result = (String) future.get(timeout, TimeUnit.SECONDS); // TASKS load some classes and invoke their methods (they may […]

Número máximo de HttpWebRequests simultâneos

Estou testando o stress de um aplicativo da web e configurei um programa de teste do windows que gera vários threads e envia uma solicitação da web para cada um deles. O problema é que eu recebo a seguinte saída: 01/09/09 11:34:04 Starting new HTTP request on 10 01/09/09 11:34:04 Starting new HTTP request on […]

Sincronizando objects String em Java

Eu tenho um webapp no ​​qual estou fazendo alguns testes de carga / desempenho, especialmente em um recurso em que esperamos que algumas centenas de usuários acessem a mesma página e atualizem a cada 10 segundos nesta página. Uma área de melhoria que descobrimos que poderíamos fazer com essa function era armazenar em cache as […]

Como tempo limite de um segmento

Eu quero executar um segmento por um período fixo de tempo. Se não for concluído dentro desse tempo, quero matá-lo, lançar alguma exceção ou manipulá-lo de alguma forma. Como pode ser feito? Uma maneira de fazer isso como eu descobri neste thread é usar um TimerTask dentro do método run () do Thread. Existe alguma […]

Evite sincronizado (isso) em Java?

Sempre que uma pergunta aparece no SO sobre a synchronization de Java, algumas pessoas estão muito ansiosas para apontar que o synchronized(this) deve ser evitado. Em vez disso, afirmam, um bloqueio em uma referência privada é o preferido. Algumas das razões dadas são: algum código maligno pode roubar o seu bloqueio (muito popular este, também […]