Po prostu zauważyłem, że zawieszenie i wznawianie wątków w systemie Android jest przestarzałe. Na czym polega ta praca lub jak mogę zawiesić i wznowić wątek na Androidzie?Jak zawiesić i wznowić wątki w systemie Android?
6
A
Odpowiedz
7
Rzeczywiście zawieszanie lub zatrzymywanie wątków w losowych punktach jest niebezpiecznym pomysłem, dlatego te metody są przestarzałe.
Najlepsze co możesz zrobić, moim zdaniem jest, aby mieć stałe punkty zatrzymując w run
metody Twojego wątku i zatrzymując się tam za pomocą wait
:
class ThreadTask implements Runnable {
private volatile boolean paused;
private final Object signal = new Object();
public void run() {
// some code
while(paused) { // pause point 1
synchronized(signal) signal.wait();
}
// some other code
while(paused) { // pause point 2
synchronized(signal) signal.wait();
}
// ...
}
public void setPaused() {
paused = true;
}
public void setUnpaused() {
paused = false;
synchronized(signal) signal.notify();
}
}
Powiązane problemy
- 1. PyCharm - jak zawiesić wszystkie wątki
- 2. Jak zawiesić i wznowić sekwencję poleceń w Bash?
- 3. Jak przerwać, wstrzymać i wznowić wątki w C#?
- 4. Android: Jak zatrzymać i wznowić licznik odliczania?
- 5. Czy mogę zawiesić, a następnie wznowić kontener Docker?
- 6. Wątki w Java i Python
- 7. Jak wstrzymać i wznowić UIView.animateWithDuration
- 8. jak zatrzymać i wznowić NSTimer w iphone
- 9. Wątki/Porównanie procesów w systemie Linux/Windows
- 10. widelec i istniejące wątki?
- 11. Zdarzenia wyłączające w systemie Android
- 12. Jak dodać pauzę i wznowić funkcję podczas recoding wideo w android
- 13. Jak zatrzymać i wznowić TimerTask/Timer
- 14. Jak wstrzymać i wznowić licznik czasu?
- 15. .NET wątki wątków i asynchroniczne wątki IO
- 16. Swing Timer, jak zatrzymać i wznowić?
- 17. Jak obrócić mapę bitową w systemie Android?
- 18. Fragmenty i wątki w Androidzie
- 19. OpenMP i rdzenie/wątki
- 20. Jak zawiesić inny wątek (nie bieżący)?
- 21. Wątki i pisanie plików
- 22. Jak zakończyć lub zawiesić wątek Rust z innego wątku?
- 23. ptrace i wątki
- 24. Sesja i wątki
- 25. Jak zatrzymać wszystkie wątki robocze w aplikacji Android
- 26. Jak wznowić zatrzymane pojemnik Döcker
- 27. Jak wznowić ekran (ekran GNU)
- 28. Jak wstrzymać/wznowić klonowanie repozytorium w merkurialnym?
- 29. Jak wstrzymać/wznowić pobieranie w iPhone (iOS)?
- 30. oddzwonienie w systemie Android?
jak o usługi: http://developer.android.com/ guide/topics/baseals/services.html – Leo
Witam LeoLink Nie sądzę, że usługi posortują mój problem. dzięki anywyays :) – rosesr