Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
840 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  thread java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

thread java

n°2184696
bloomingda​ls
Posté le 08-04-2013 à 10:56:30  profilanswer
 

bonjour,
j'ai une classe java qui met bcp de temps pour finir son exécution. afin de gangner du temps je me suis dit que je pourrai utiliser les resultta qu'elle retourne au fur et a mesure de son exécution.  
mes questions sont les suivantes:
1. est ce qu'il faut que la classe devienne un thread pour pourvoir exploiter ses resultat au fur et  à mesur?
2. une variable de cette classe change de valeur pendant l'exécution, est ce que c'est possible de suivre cette variable et l'utiliser en parallèle par une autre classe java (a l'aide d'un getter par exemple)??
 
merci bcp pour votre aide

mood
Publicité
Posté le 08-04-2013 à 10:56:30  profilanswer
 

n°2184724
willy le k​id
Posté le 08-04-2013 à 12:28:02  profilanswer
 

Donc une phase de traitement qui prend du temps suivi d'une phase d'exploitation.
1) oui, la gestion des Thread permettra de démarrer l'exploitation alors que le traitement est encore en cours.
2) oui, si une valeur est modifiée (avec le setter) par le traitement, elle pourra être lue en temps réel par l'exploitation.
A priori pas de problème de concurrence (valeur Thread Safe) si un seul Thread écrit la valeur pendant que un seul autre Thread lit.

   



Message édité par willy le kid le 08-04-2013 à 14:59:36
n°2184726
willy le k​id
Posté le 08-04-2013 à 12:35:27  profilanswer
 

Il y a une techno/api qui t'aidera à :
- accélérer le traitement en le parallélisant avec plusieurs 'job' en concurrence
- sous certaine conditions te permettra de reprendre les traitements qui ont planté sans tout recommencer à zéro
- te permet d'avoir une appli java qui fait le traitement, et une autre appli java qui fait l'exploitation, les deux fonctionnant en parallèle

 

C'est Spring Batch. Tu auras à coder, ça demande un effort de concision, mais Spring Batch te fournit l'API (t'oblige à respecter une norme) pour tout ce qui est concurrence et reprise après panne. Cela apporte de la robustesse et de l'effacité et élimine largement les risques de bugs à cause de multi concurrence (normal, cette APi est un standard de fait).


Message édité par willy le kid le 08-04-2013 à 12:37:59
n°2184753
bloomingda​ls
Posté le 08-04-2013 à 15:13:07  profilanswer
 

merci enormement pour cette reponse.
 
je vais essayer d'appliquer tout ca et je te tiendrai informé

n°2184755
willy le k​id
Posté le 08-04-2013 à 15:35:42  profilanswer
 

Un petit blah blah en français avec demo à télécharger
http://blog-rd.ideotechnologies.com/?p=2021

n°2185135
bloomingda​ls
Posté le 10-04-2013 à 12:09:50  profilanswer
 

rebonjour,
 
je suis arrivée à resoudre une partie du problem. maintenant que j'ai mon thread entrain de tourner comment est ce que je pourrais récupérer la valeur de ses variables (en temps réel et non après son excéution) par une autre classe (éventuellement un autre thread)
 
les variables qui m'interesse sont un boolean (finished) et un File (nom de fichier).
 
j'aimerai que ma classe detecte lorsque la variable finished et nom de fichier changent dans le premier thread afin de les utiliser dans des traitement. comment faire?
 
ps: j'ai defini des getter et des setter pour ces variables.
 
merci
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  thread java

 

Sujets relatifs
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError[java] Donner "avantage" à un thread
problème de Thread javaException in thread "main" java.lang.NoClassDefFoundError
fermeture thread javaThread JAVA
[Java/J2ME] Deux Thread : dont un Thread-Outils[Java] Thread & Exception
[C/java] Socket et threadException in thread "main".java.lang.StringIndexOutOfBoundsException
Plus de sujets relatifs à : thread java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR