Arreter un Thread au bout de 30 secondes
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:
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