Attendre la fin d'une methode avant de demarrer une autre [JAVA] - Java - Programmation
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 ?
Marsh Posté le 16-05-2006 à 23:48:55
Pourquoi passer par des threads
Tu les lances l'une après l'autre et c'est rêglé
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
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
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. |
J'veux voir du code là, parce que c'est incompréhensible.
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/
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