Czytałem about loopers, a także na Executor Thread Pools i wydaje się, że robią dokładnie to samo ... czy ja czegoś brakuje?Różnica między looper android i puli wątku executora
Odpowiedz
A Looper
zarządza zadaniami, które wątek będzie działał. Umieszcza je w kolejce, a następnie wątek wykonuje następne zadanie w linii. Looper jest związany z określonym wątkiem.
An Executor
hermetyzuje zarządzanie i dystrybucję zadań do różnych wątków. Jeśli masz stały rozmiar wątku równy 1, to przypuszczam, że byłby on podobny do Loopera, ponieważ będzie on ustawiał kolejkę do pracy dla tego wątku. Jeśli masz plik wątków o rozmiarze> 1, to będzie on w stanie przekazać zadanie do następnego dostępnego wątku do wykonania pracy lub innymi słowy, rozdzieli zadania między wszystkie wątki.
edit: Zalecana literatura: http://developer.android.com/reference/java/util/concurrent/package-summary.html
Komornicy są bardziej elastyczne. W przypadku Androida, jedyny czas, w którym naprawdę używam Looper'a, to próba uczynienia Handlera komunikacją z głównym wątkiem z wątku tła (który mógłby nawet być w ExecutorService). Na przykład:
Handler mainThreadHandler = new Handler(Looper.getMainLooper());
mainThreadHandler.post(new Runnable...); //runs on main thread
tylko zobaczył swoją stronę. byłoby miło, gdybyś zamieścił 3 pytania na temat wywiadu androidowego na – user3430459
@ user3430459 Zdecydowanie, gdy tylko dostanę trochę czasu, aby to zrobić. :) –
@ trevor-e Myślę, że zamierzałeś napisać "ExecutorThreadPool" zamiast "Executor". ExecutorThreadPool zarządza i dystrybuuje zadania do łączonych wątków, o ile są one dostępne, jak wyjaśniono. Executor jest obiektem używanym do wykonywania zadań Runnable. – user3144836
- 1. Różnica między tożsamością puli połączeń i puli aplikacji
- 2. Android Looper vs BlockingQueue?
- 3. Różnica między AppDomain, montaż, procesu i wątku
- 4. Android: Rezygnacja z Looper?
- 5. Różnica między uruchomieniem wątku a włączeniem wątku?
- 6. Usługa executora w java -> jak przekonwertować kod pojedynczego wątku, aby użyć executora
- 7. Ponowne użycie wątku Java za pomocą executora
- 8. Handler.removeCallbacksAndMessages (null) i główny looper
- 9. Różnica między uruchomieniem a uruchomieniem wątku
- 10. Różnica puli połączeń JDBC i JNDI
- 11. InheritableThreadLocal i puli wątków
- 12. Różnica między javacore, zrzutem wątku i zrzutem sterty w Websphere
- 13. Android: Różnica między canvas.drawBitmap i BitmapDrawable.draw?
- 14. Android: Różnica między FileOutputStream i FileWriter
- 15. Jaka jest różnica między używaniem puli wątków a normalnym wątkiem?
- 16. Różnica między Delegate.Invoke i Delegata()
- 17. Jak ustawić numer executora iskier, rdzeni i pamięci executora?
- 18. C# niższy priorytet wątku w puli wątków
- 19. Testowanie Android Realm z RxJava - „otwarty z wątku bez Looper” wyjątek
- 20. Różnica między cocos2d-android i cocos2d-android-1
- 21. Jaka jest różnica między Task.Yield, Task.Run i ConfigureAwait (false)?
- 22. Różnica między `focusable` i` clickable`
- 23. Jaka jest różnica między @android a android:
- 24. Różnica między onClickListener i onItemClickListener
- 25. Różnica między MotionEvent.getRawX i MotionEvent.getX
- 26. Usługa Android i wątku UI
- 27. Różnica między InstrumentationTestCase i AndroidTestCase
- 28. Różnica między dexopt i dex2oat?
- 29. Różnica między numpy.genfromtxt i numpy.loadtxt, i rozpakuj
- 30. Różnica: android: tło i android: src?
ja nie zgadzam się z tym, ifyou Spójrz na ten samouczek executora, że wystrzelone gwinty 5 naraz – user3430459
przepraszam, mój błąd –