Bonjour a tous,
Dans le code ci-dessous, je construis un TimerStack pour call des méthodes etc .. J'ai configure le TimerTask suivant une période dans ma variable SPEED. Toutefois, cette variable peut changer de valeur, je dois donc ré-actualiser sa valeur dans le TimerTask.
Je cancel mon TimerTask, si la valeur de ma variable SPEED est différente de speed. Et j'essaie de le faire repartir avec la nouvelle période mais ça bloque ...
Merci d'avance de vos conseils!
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
24
25
26
27
28
29
30
31
32
33 public void MyThread() { Runnable myRunnable = new Runnable() { public void run() { final TimerTask task = new TimerTask() { @Override public void run() { if (!(isOnStation())) { // Code .. } else { try { // Code .. Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } } if(speed != SPEED){ cancel(); speed = SPEED; run(); } } }; Timer timer = new Timer(); timer.scheduleAtFixedRate(task,500, SPEED); } }; Thread thread = new Thread(myRunnable); thread.start(); }
Partager