Bonjour,

J'exécute un Thread dont la durée d'exécution peut fortement varier, j'aimerais donc l'abandonner au bout de 30s. Voila comment je m'y prends:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Thread longThread= new Thread(new Runnable() {  	
   public void run() {
      Message msg;
 
      // Initialisation et lancement du compte à rebours
      Timer timer = new Timer();  
      timer.schedule(new TimerTask() {
         public void run() {
            // Libération forcée du Thread
	    semaphore.release();
	}
      }, 30000);
 
      try {
         // Attente de libération
         semaphore.acquire();
      } catch (InterruptedException e) {}
 
      // Donner 1 ou 2 au message, selon le type de libération
      msg = handler.obtainMessage(1 ou 2);
      handler.sendMessage(msg);	
   }
});
Pour attribuer 1 ou 2, je ne sais pas exactement comment faire: faut-il mettre une simple variable boolean dans le Timer, faut-il mettre un atomicBoolean? Quelle est la différence?

Merci