Java + thread

Fermé
JoloKossovar Messages postés 111 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 5 septembre 2007 - 3 sept. 2007 à 12:27
JoloKossovar Messages postés 111 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 5 septembre 2007 - 3 sept. 2007 à 14:01
Bonjour a tous ^^
j'ai un souci avec une application que je dois développez.
Cette application doit se charger de récupérer des infos qui sont suceptible de changer et sur plusieurs site en meme temps.
Les threads sont indépendants et ne doivient donc pas attendre la fin de la tache d'un autre threads. (utilisation du mot clé synchronised sur la fonction qui lance les threads ?)
j'ai donc utiliser un pool de thread. L'application fonctionne bien mais j'ai un probleme.
Celle ci se bloque pour je ne sais quelles rasions liée aux threads.

voila mon code simplifié :
syncronised Monitorstart {
while (!shouldStop) {
try {
for (machin a machin) {
Machin machin = machin.get(machinInfo);
try {
// Object synObj = new Object();
Object[] params = new Object[] { blablabla};
Class[] parmTypes = new Class[] { blablabla};
WorkerThread rt1 = (WorkerThread) pool.borrowObject();
try {
rt1.setPool(pool);
rt1
.execute(
"Monitor",
"updat", params,
parmTypes, null);
} catch (Exception ex) {
LOG.error(ex);
}
} catch (Exception ex) {
LOG.error(ex);
continue;
}
}
wait(cycle);
} catch (Exception ex) {
LOG.error(ex);
}
}
shutdown();
setStart(false);
shouldStop = false;
LOG.info("==> Monitor Stopped !");
}
}

Au bout d'yun temps qui dépend de je ne sais quoi l'application se bloque. Surement parce qu'il y a des threads qui se bloquent(deadlock?) mais ce n'est pas logique car je veux que les threads ne s'attendent pas et soit indépendants.

J'attend vos commentaires ^^
A voir également:

1 réponse

JoloKossovar Messages postés 111 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 5 septembre 2007 33
3 sept. 2007 à 14:01
Personne n'a la moindre idée ?
0