谁能解释一下为什么有人应该使用Android Looper特性来创建一个“管道线程”,而不是创建一个从BlockingQueue中提取任务的普通线程?从表面上看,似乎有两种方法可以做同样的事情。
发布于 2013-02-14 22:04:41
BlockingQueue允许您有多个消费者和生产者,而循环机制允许您有多个生产者,但只有一个消费者。
因此,在循环线程中,一次只能执行一个任务(runnable)。创建循环机制是为了让您可以轻松地在UI线程(作为单线程运行,因此可以将其视为单线程使用者)上执行可运行对象(封装为消息的任务)。
循环/处理程序还提供了BlockingQueue开箱即用所不具备的延迟执行任务的功能,这在UI工具包的上下文中同样重要。
https://stackoverflow.com/questions/8439459
复制相似问题