[JAVA] Attendre la fin d'une methode avant de demarrer une autre

Attendre la fin d'une methode avant de demarrer une autre [JAVA] - Java - Programmation

Marsh Posté le 16-05-2006 à 23:29:24    

Bonjour,
 
ma question est toute simple :  
 
faut-il necessairement passer par des threads pour s'assurer qu'une methode ne se lance qu'une fois celle qui la precede ds le main ne soit termine ?
Si non, comment faire?
 
Merci

Reply

Marsh Posté le 16-05-2006 à 23:29:24   

Reply

Marsh Posté le 16-05-2006 à 23:34:31    

concretement j'ai un appel a une methode x qui me cree des fichiers.  
 
L'appel de la methode suivante y permet le traitement de ces fichiers.
 
Comment puis-je faire pour m'assurer que y ne commencera qu'une fois que x aura cree tous les fichiers demande ?
 
 

Reply

Marsh Posté le 16-05-2006 à 23:48:55    

Pourquoi passer par des threads [:petrus dei]
 
Tu les lances l'une après l'autre et c'est rêglé [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 17-05-2006 à 00:30:37    

en fait ma methode y se lance avant que x n'ai fini son traitement.
 
tu te doutes bien que c'est le lancment de l un apres l autre qui pose un pb

Reply

Marsh Posté le 17-05-2006 à 22:22:26    

Sans passer par des threads, j'entrevois bien une solution, mais pas es plus propres...
 
dans la méthode X, tu mets un booléan à true juste avant sa sortie, et dans la méthode y, tu fais de l'attente active à l'aide d'une boucle qui se termine lorsque ledti booléan passe à true. De préférence, mets un "delay" dans la boucle pour éviter que ton processeur passe direcement à 100% d'utilisation.
 
J'espère avoir pu t'aider
 
 
turtle

Reply

Marsh Posté le 17-05-2006 à 22:24:30    

LaBrune3012 a écrit :

en fait ma methode y se lance avant que x n'ai fini son traitement.
 
tu te doutes bien que c'est le lancment de l un apres l autre qui pose un pb


J'veux voir du code là, parce que c'est incompréhensible.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 17-05-2006 à 22:43:05    

Pas très clair ton problème.
 
Ta première méthode lance t'elle un thread (via un start ou bien un run()) ou bien un traitement indépendant de java (par example un process shell via un Process.exec en tache de fond) ?
 
Regarde le fonctionnement des threads et des Semaphores, cela devrait t'aider un peu.
http://mdalbin.developpez.com/tuto [...] emaphores/
http://alwin.developpez.com/tutorial/JavaThread/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed