我有一些线程在我的应用程序中运行,我希望如果同时调用这些线程,它们不会并发执行。而且我还想在运行下一个线程之间等待 1 秒延迟。我该怎么做?
也许正确的方法是实现可运行对象的工作队列,但我必须使用哪个对象来实现它以及如何实现? ThreadPoolExecutor 是个不错的选择?
http://developer.android.com/reference/java/util/concurrent/ThreadPoolExecutor.html
最佳答案
您可以使用 IntentService。它实现了一个后台线程,并自动对启动请求进行排队。您可以像启动任何其他服务一样使用 startService(intent) 启动它。 文档:http://developer.android.com/reference/android/app/IntentService.html 通过这种方式,您还可以确保允许后台线程完成,即使系统或用户将 ui 线程发送到后台也是如此。
关于android线程 worker 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6546671/