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

  FORUM HardWare.fr
  Programmation
  Java

  [Java] utilisation de thread

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] utilisation de thread

n°163080
El_gringo
Posté le 21-06-2002 à 09:04:07  profilanswer
 

Je veux faire un appli chargée de tester les performances de ma servlet en local. L'appli sera totalement indépendante de ma servlet, puisqu'elle pourra de la même façon tester les performances d'un module ISAPI.
Cette appli sevira en fait à comparer les temps de réponse des 2 technologies par rapport au nombre de requêtes simultannées. Je pensais créer une petite appli à laquelle on donnnerai une ligne de commande (une action à effectuer par la servlet ou le module ISAPI), et qui lancerai autant de fois ie avec cette ligne de commande qu'on le veut.
Si vous avez mieux comme idée déja, je suis prenneur.
Je voudrais afficher en temps réel des infos sur les temps de réponse, du coup g 2 problèmes là:
 - Quels infos je peux afficher, et comment ?
 - Pour afficher des infos en temps réel, j'imagine que je dois utiliser un thread. du coup g crée une classe qui étend Thread. J'implémenterai la méthode run () de façon à ce que ça soit une boucle infine qui écrive les infos récoltées dans ma frame principale. Ms g un pb: je sais pas comment stopper mon thread, la méthode stop () est deprecated, et j'arrive pas à comprendre les infos concernant la méthode de remplacement ds la javadoc. Donc, forécment, je compte un peu sur qqn ici.
Merci... :hello:

mood
Publicité
Posté le 21-06-2002 à 09:04:07  profilanswer
 

n°163089
R3g
fonctionnaire certifié ITIL
Posté le 21-06-2002 à 09:10:11  profilanswer
 

C'est tout con : tu crée une variable de classe, genre un boolean, que tu fais changer d'etat quand ton traitement est fini. Le thread doit s'arreter des que le boolean change de valeur.
Ta boucle infinie devient while(!fini). Dans ta classe principale, quand ton traitement est terminé tu fais maThread.fini = true;
Enfin moi c'est comme ca que j'ai interprété ce qui est dit dans la doc.


---------------
Au royaume des sourds, les borgnes sont sourds.
n°163090
gfive
Posté le 21-06-2002 à 09:11:23  profilanswer
 

bah, en fait, dans ta classe, tu ajoutes un atribut :
 
boolean alive;
 
et dans ton run(), tu fais :  
 
public void run() {
       while (alive) {
          ....
       }
}
 
Comme ça, pour stopper ta thread, tu met juste alive a false.
 
Ouala.
 
(tu peux le mettre synchronized, aussi, le booléen)

n°163094
R3g
fonctionnaire certifié ITIL
Posté le 21-06-2002 à 09:16:47  profilanswer
 

Faut reconnaitre, gfive explique mieux que moi


---------------
Au royaume des sourds, les borgnes sont sourds.
n°163096
El_gringo
Posté le 21-06-2002 à 09:20:12  profilanswer
 

gfive a écrit a écrit :

bah, en fait, dans ta classe, tu ajoutes un atribut :
 
boolean alive;
 
et dans ton run(), tu fais :  
 
public void run() {
       while (alive) {
          ....
       }
}
 
Comme ça, pour stopper ta thread, tu met juste alive a false.
 
Ouala.
 
(tu peux le mettre synchronized, aussi, le booléen)  




 
ça veut dire que dès que la méthode run se termine, le thread se termine ?
Et ben, on dirait pas, parce que g déja fait ce que vous dites, mais si après avoir terminé mon Thread de cette façon, je refais un start sur la même instance de ma classe étendant Thread, ben elle repasse pas par ma méthode run...
Et pour les infos que je peux récupérer pour le noyeau de mon appli de test, vous avez pas d'idée ?

n°163097
gfive
Posté le 21-06-2002 à 09:20:31  profilanswer
 

Ouais, mais grilled quand même, bouhou!

n°163107
R3g
fonctionnaire certifié ITIL
Posté le 21-06-2002 à 09:29:18  profilanswer
 

En fait j'ai jamais essayé de refaire un start() sur une thread terminée, alors je sais pas trop, mais ca me semble bizarre. Par contre, quand run() se termine, la thread est finie, ca c'est sur !
Pour les infos, la desolé, mais j'ai pas d'idée :(


---------------
Au royaume des sourds, les borgnes sont sourds.
n°163126
El_gringo
Posté le 21-06-2002 à 09:52:07  profilanswer
 

Et personne à d'idée alors sur mes 2 pbs subsistants:
 - pourquoi, quand je fais start une 2e fois sur un objet étendant Thread, alors que la méthode run() est terminée (Thread détruit !?), la méthode run() n'est pas appelée ?
 - comment récupérer des infos pour remplir la fonctionnalité que je décris dans mon 1er post ?

n°163141
darklord
You're welcome
Posté le 21-06-2002 à 10:09:55  profilanswer
 

réponse 1 - Un thread a une vie et une seule vie par instance. Une fois que tu appelles start() la méthode run est appellée et lorqsu'elle se termine l'instance du thread meurt. Si tu veux rappeller start sur le meme objet tu dois recréer une instace de ton objet.
 
réponse 2 - j'ai la flemme de lire ton premier post :D


---------------
Just because you feel good does not make you right
n°163143
R3g
fonctionnaire certifié ITIL
Posté le 21-06-2002 à 10:10:54  profilanswer
 

Un poil tard mais : http://java.sun.com/docs/books/tut [...] cycle.html


Message édité par R3g le 21-06-2002 à 10:11:15

---------------
Au royaume des sourds, les borgnes sont sourds.
mood
Publicité
Posté le 21-06-2002 à 10:10:54  profilanswer
 

n°163144
--greg--
Posté le 21-06-2002 à 10:12:51  profilanswer
 

y'a des applis de tests de charge pour serveur d'app (donc de servlets...) .. sur sourceforge je crois, me rappelle plus le nom comme ça.
apres si tu veux que ta servlet sorte des infos specifiques à certains moments--> log4j rulez
 
bon j'ai rien compris, c ça?

n°163147
El_gringo
Posté le 21-06-2002 à 10:17:04  profilanswer
 

--greg-- a écrit a écrit :

y'a des applis de tests de charge pour serveur d'app (donc de servlets...) .. sur sourceforge je crois, me rappelle plus le nom comme ça.
apres si tu veux que ta servlet sorte des infos specifiques à certains moments--> log4j rulez
 
bon j'ai rien compris, c ça?  




 
Nan, c bon, ce que tu m'as dit c exactement ce dont g besoin. c écrit en Java en plus ce truc !?
Sérieux, t'arrives vraiement pas à te rappeler le nom ?

n°163150
--greg--
Posté le 21-06-2002 à 10:18:08  profilanswer
 

el_gringo a écrit a écrit :

 
 
Nan, c bon, ce que tu m'as dit c exactement ce dont g besoin. c écrit en Java en plus ce truc !?
Sérieux, t'arrives vraiement pas à te rappeler le nom ?  



bon allez je vais faire un effort
mais c bien pour faire enrager les autres qui ont essayé de t'expliquer les threads pour rien :-))))))))

n°163153
El_gringo
Posté le 21-06-2002 à 10:21:12  profilanswer
 

--greg-- a écrit a écrit :

bon allez je vais faire un effort
mais c bien pour faire enrager les autres qui ont essayé de t'expliquer les threads pour rien :-))))))))  




 
allons, allons, c jammais expliqué pr rien, ça servira une autre fois...
tu crois que tu vas retrouver ?

n°163156
El_gringo
Posté le 21-06-2002 à 10:25:21  profilanswer
 

--greg-- a écrit a écrit :

y'a des applis de tests de charge pour serveur d'app (donc de servlets...) .. sur sourceforge je crois, me rappelle plus le nom comme ça.
apres si tu veux que ta servlet sorte des infos specifiques à certains moments--> log4j rulez
 
bon j'ai rien compris, c ça?  




 
ha, mais attend, test de charge, c'est quoi !? c pas tests de performances en fait...
test de charge, c pour voir si l'appli "travaille" beaucoup, c ça !?

n°163161
--greg--
Posté le 21-06-2002 à 10:29:56  profilanswer
 

euh ouais c pour voir comment ça reagit qd la charge (le nbre de requetes par ex) monte
 
mais bon
par extension ça teste les performances non?
 
bref je t'ai trouvé qques urls
 
http://www.codework.com/pureload/
http://www.velometer.com/
http://jakarta.apache.org/jmeter/index.html <-- c a celle que je pensais mais bon j'ai jamais essayé le machin
http://sourceforge.net/projects/grinder/
 
si tu en essaies, donne moi des nvlles ça m'interesse!

n°163191
El_gringo
Posté le 21-06-2002 à 11:14:50  profilanswer
 

cool, merci. J'vais essayer tout ça...

n°163502
El_gringo
Posté le 21-06-2002 à 16:02:39  profilanswer
 

--greg-- a écrit a écrit :

euh ouais c pour voir comment ça reagit qd la charge (le nbre de requetes par ex) monte
 
mais bon
par extension ça teste les performances non?
 
bref je t'ai trouvé qques urls
 
http://www.codework.com/pureload/
http://www.velometer.com/
http://jakarta.apache.org/jmeter/index.html <-- c a celle que je pensais mais bon j'ai jamais essayé le machin
http://sourceforge.net/projects/grinder/
 
si tu en essaies, donne moi des nvlles ça m'interesse!  




 
pureload --> pas dispo en téléchargement apparement
velometer--> tout simple d'utilisation. Trop, il en est    incomplet et faussé
jmeter --> à l'air carrément bien. complexe, je comprend encore pas grand chose, ms j'pense que c pour lui que je vais opter.
grinder --> pas essayé

n°163503
El_gringo
Posté le 21-06-2002 à 16:02:52  profilanswer
 

...merci encore pr les URL. :hello:

n°163506
--greg--
Posté le 21-06-2002 à 16:04:55  profilanswer
 

el_gringo a écrit a écrit :

...merci encore pr les URL. :hello:  




de rien :)
tu me diras ce que ça donne jmeter alors une fois que t'auras bien essayé? :))


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

  [Java] utilisation de thread

 

Sujets relatifs
[php] et [Javascript] Comment inserer du java dans une page php ???[Applet Java] Est-il possible de décompiler une applet java ?
[Java/jdbc] Vous utilisez quoi comme pool de connexions ?[Java] pour les programmeurs confirmés...
[ java ] forcer une validation avec une DTD bien précise.[java] Sauvegarder un graphic en bmp ou gif ou jpg
[ JAVA ] Comment effacer un espace vide dans une String ?Java et XML
Java: Création d'une interface graphique[JAVA] Avis et surtout critiques sur mon prog Java SVP
Plus de sujets relatifs à : [Java] utilisation de thread


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