Eu enfrentei os próximos problemas: Eu tenho muitos leitores e escritores asynchronouss. O jdk tem alguma implementação que forneça segurança de thread para o meu caso? Pelo que entendi ConcurrentHashMap não é apropriado para a situação quando há muitos escritores asynchronouss. Se eu precisar sincronizar dois mapas concorrentes entre si, posso conseguir isso sem a […]
Eu estou trabalhando em um player de áudio, que é escrito em Java com GUI. Para tocar os arquivos mp3, escolhi a biblioteca JLayer do javazoom porque vi que ela é muito popular e usada. Eu fiz a GUI, conseguiu reproduzir o arquivo mp3 selecionado da lista de reprodução. Meu problema é que, se eu […]
Eu tenho o seguinte AsyncTask em um fragment (o exemplo é simplificado para mostrar claramente o erro): private class LoginTask extends AsyncTask { @Override protected Void doInBackground(Void… params) { // Do network login return null; } @Override protected void onPostExecute(Void result) { FragmentActivity act = (FragmentActivity) getActivity(); if (act != null && isAdded()) { act.getSupportFragmentManager().beginTransaction() […]
Estou trabalhando em um aplicativo que requer o download de grandes arquivos de vídeo (300-500MB). Eu gostaria de saber se há uma maneira de acelerar o download de um único arquivo usando multi-threading. Eu vi esse tipo de implementação em aplicativos como o TubeMate, mas não conheço o código usado para alcançá-lo. Eu não preciso […]
Algum fundo: Quando uma coleção é iterada usando Iterator então pode java.util.ConcurrentModificationException porque sob os capuzes quando o object Iterator é criado, então a contagem de modificação ( modCount ) da coleção ou ArrayList é capturada e em cada iteração usando Iterator.next() é verificada se modCount foi alterado, em caso positivo, em seguida, lance java.util.ConcurrentModificationException […]
Eu gostaria de saber a melhor forma de implementar um plano de fundo para executar algumas tarefas. Com base em algumas condições dentro das tarefas, ele terminará e retornará um estado ao chamador. Além disso, enquanto o thread em segundo plano está em execução, ele não deve impedir que o thread de chamada espere sua […]
Em java quando criamos um object de thread Thread t1 = new Thread(Runnable object); t1.start(); Quais são os diferentes estágios do ciclo de vida do thread t1 e após a execução do run() será o estado de t1 ?
Imagino que tenho Classe First com vários methods sincronizados. Quando um thread bloqueia a class First , ele bloqueia por método ou por class? Por exemplo, o deadlock acontece para o código a seguir? public class DeadLockQuestion { public static class First{ public synchronized void a(){ } public synchronized void b(){ } public synchronized void […]
Eu tenho um problema estranho usando JACOB de dois threads idênticos, consequentemente iniciados. Eu tenho uma class de utilitário que usa um campo estático ActiveXObject para despachar várias solicitações para o WMI. O primeiro segmento funciona bem. Quando o segundo thread é iniciado, recebo a seguinte exceção: com.jacob.com.ComFailException: Can’t map name to dispid: ExecQuery at […]
Vi algum registro estranho em nossos logs de aplicativos. Estamos usando o log4j. O log4j permite imprimir logs que estão entrelaçados no tempo. Quero dizer, como temos primeiro o log com timestamp dizer 16:10:30 e, em seguida, log ter timestamp 16:10:25. Mesmo se eles estão sendo impressos por thread diferente. Isso não é um comportamento […]