Ola …
Estou com pequeno problema com Threads…
Estou desenvolvendo uma aplicação web no qual um processo tem q ser executado todo, mas isso nao acontece … o que está acontecendo é o seguinte
O PROCESSO “A” INICIOU E EM SEGUIDA UM NOVO PROCESSO FOI GERADO (PROCESSO B)
PROCESSO “A” PÁRA PARA O PROCESSO “B” SER EXECUTADO .
Alguem sabe algo para solucionar esse problema de thread
até o momento eu já fiz isso …
[code] public ThreadIniciarAudio(Usuario usuarioLoUsuario, String idAudio,String PRESTADOR){
System.out.println(“CONSTRutOR”);
this.usuarioLogado =usuarioLoUsuario;
this.idAudio = idAudio;
this.PRESTADOR = PRESTADOR;
setPriority(10);
}
public void iniciar (){
while (ocupada){
try {
System.out.println("OCUPADO .... Esperando um executor iniciar a thread ... ");
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ocupada = true;
AtividadeService atividadeService = new AtividadeService();
AudioService audioService = new AudioService();
AudioHistoricoService audioHistoricoService = new AudioHistoricoService();
try{
AudioHistorico ultimoHistorico = new AudioHistorico();
ultimoHistorico = audioHistoricoService.getUltimoHistoricoArquivo(new Integer(idAudio), PRESTADOR);
boolean podeIniciar = true;
if(ultimoHistorico.getAcao() != null && ultimoHistorico.getAcao().equals("2")){
if(ultimoHistorico.getDataFim() == null){
podeIniciar = false;
}
}
if(podeIniciar){
Atividade atividade = new Atividade();
AudioGravado audioGravado = new AudioGravado();
AudioHistorico audioHistorico = new AudioHistorico();
audioGravado = audioService.getAudioGravadoPorId(new Integer(idAudio), PRESTADOR);
atividade = atividadeService.buscaProximaAtividade(audioGravado,null,PRESTADOR);
audioHistorico.setAtividade(atividade);
audioHistorico.setUsuario(usuarioLogado);
audioHistorico.setAcao("2");
audioHistorico.setAudio(audioGravado);
audioHistorico.setDataInicio(new Date());
audioService.salvarAudioHistorico(audioHistorico, PRESTADOR);
audioGravado.setAtividade(atividade);
audioGravado.setStatus("21");
audioService.salvarAudioGravado(audioGravado, PRESTADOR);
}
ocupada = false;
}catch (StenoException e) {
ocupada = false;
e.printStackTrace();
//informarErro(usuarioLogado, "AudioComumMB - iniciarAudio", ""+e.fillInStackTrace());
}
}
public void run() {
synchronized (this) {
iniciar();
}
}[/code]
vlw