questo è il codice.
La procedura principale fa questo:
codice:
ThreadGroup tg = new ThreadGroup("pippo");
ThreadForzaConsuntivi tfc1 =
new ThreadForzaConsuntivi(tg, m_con, minWp, minWp + diff,
dataInizio, dataFine,1);
ThreadForzaConsuntivi tfc2 =
new ThreadForzaConsuntivi(tg, m_con, minWp + diff, maxWp,
dataInizio, dataFine,2);
tfc1.start();
tfc2.start();
La classe ThreadForzaConsuntivi estende la classe Thread ed ha questi metodi
codice:
public ThreadForzaConsuntivi(ThreadGroup tg, Connection m_con,
int wpInizio, int wpFine,
String dataInizio, String dataFine,
int num3d) {
super(tg, "pippo");
log.debug("forzo i consuntivi da " + wpInizio + " a " + wpFine);
this.wpInizio = wpInizio;
this.wpFine = wpFine;
this.dataInizio = dataInizio;
this.dataFine = dataFine;
this.numThread = num3d;
this.m_con = m_con;
}
public void start(){
try{
forzaAssegnamentiPerActual();
}
catch(Exception se){
se.printStackTrace();
log.error(se);
}
}
mentre infine nel metodo forzaAssegnamentiPerActual() ci sono le varie operazioni (fa una query, per ogni record di questa query fa una seconda query di insert in un'altra tabella.
Il problema mi sembra questo:
quando faccio
tfc1.start();
il controllo torna alla classe princiapale o finchè non ha terminato il metodo forzaAssegnamentiPerActual() richiamato nello start del thread non continua?
Come faccio a fargli capire che mentre che sta eseguendo il metodo forzaAssegnamentiPerActual per il thread1 nel frattemop può far partier anche il secondo 3d?