Java + thread
JoloKossovar
Messages postés
111
Date d'inscription
Statut
Membre
Dernière intervention
-
JoloKossovar Messages postés 111 Date d'inscription Statut Membre Dernière intervention -
JoloKossovar Messages postés 111 Date d'inscription Statut Membre Dernière intervention -
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 ^^
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:
- Java + thread
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo