[J2ME] Attendre la fin d'un Thread

Attendre la fin d'un Thread [J2ME] - Java - Programmation

Marsh Posté le 04-04-2006 à 14:44:06    

Bonjour,
 
Existe t-il une methode pour  qu'un Thread fasse se mette en pause le temps qu'un autre soit terminé?
 
Dans mon MIDlet, je lance un nouveau thread pour telecharger un fichier et j'aimerais attendre que ce soit fini pour que le code continue:

Code :
  1. DownloadFile dl = new DownloadFile();
  2. dl.start();
  3. System.out.println("File saved into filesystem." );


 
Il y a bien la solution du booléen dont on attend qu'il devienne vrai (a la fin du thread dl) pour continuer, mais je trouve ca un peu barbare, non?
 
Merci d'avance.

Reply

Marsh Posté le 04-04-2006 à 14:44:06   

Reply

Marsh Posté le 04-04-2006 à 21:32:08    

tu peux utiliser Join() si le thread que tu as lancé est déclenché dans le premier
sinon tu peux jouer avec Wait() et Notify() pour synchroniser les thread.  
 
Tu met le premier en Wait() et le second quand il a terminé déclenche Notify()  

Reply

Marsh Posté le 05-04-2006 à 06:48:36    

arrau a écrit :


Dans mon MIDlet, je lance un nouveau thread pour telecharger un fichier et j'aimerais attendre que ce soit fini pour que le code continue.


 
Pourquoi lances-tu un nouveau thread si tu ne veux pas que le téléchargement soit effectué en parallèle ? Autant  effectuer le téléchargement dans le thread principal, non ?

Message cité 2 fois
Message édité par brojnev le 05-04-2006 à 06:49:38
Reply

Marsh Posté le 05-04-2006 à 07:58:01    

brojnev a écrit :

Pourquoi lances-tu un nouveau thread si tu ne veux pas que le téléchargement soit effectué en parallèle ? Autant  effectuer le téléchargement dans le thread principal, non ?


Beh tu veux peut-être pouvoir garder la main pdt le download...


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 05-04-2006 à 11:54:19    

brojnev a écrit :

Pourquoi lances-tu un nouveau thread si tu ne veux pas que le téléchargement soit effectué en parallèle ? Autant  effectuer le téléchargement dans le thread principal, non ?


 
C'est pour eviter les "dead locks", avec J2ME les opérations réseaux doivent etre effectuées dans un thread séparé.
 
Sinon, notify() et wait() n'existent pas dans J2ME.  
J'ai essayé la méthode join(), mais apparemment bloquer mon thread principal semblait pas etre une si bonne idée car le telephone me demande pendant le telechargement si je l'autorise a lire/ecrire dans le filesystem et en "pausant" le thread ca bloque l'application.
 
J'ai fait autrement :)  
Merci pour vos reponses ;)

Reply

Marsh Posté le 22-08-2006 à 08:39:29    

arrau a écrit :

C'est pour eviter les "dead locks", avec J2ME les opérations réseaux doivent etre effectuées dans un thread séparé.
 
Sinon, notify() et wait() n'existent pas dans J2ME.  
J'ai essayé la méthode join(), mais apparemment bloquer mon thread principal semblait pas etre une si bonne idée car le telephone me demande pendant le telechargement si je l'autorise a lire/ecrire dans le filesystem et en "pausant" le thread ca bloque l'application.
 
J'ai fait autrement :)  
Merci pour vos reponses ;)


 
J'ai le même problème.
Ma midlet déclenche une connection (requête sur un servlet) dans un thread. Je voudrais qu'elle attende le résultat.
Pourrais tu indiquer comment tu as fait ?

Reply

Sujets relatifs:

Leave a Replay

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