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:
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?
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); } });
Merci
Partager