我有许多异步任务需要运行,但具有最高优先级的任务是最后添加的任务。
在安卓系统的Handler 中是否有一个LIFO (最后先出)栈,类似于,我可以使用它吗?
如果不是,我的替代实现是让每个任务从Stack中提取要处理的项。但是,在动态填充堆栈时,这会导致锁定问题。有没有更好的方法?
发布于 2017-07-05 21:15:50
创建一个线程。在线程中,创建一个LinkedBlockingDeque。添加任务时,将其添加到排队列的头。在线程中,对其进行轮询(它将在存在时移除头部)。类本身将处理所有锁定。
发布于 2017-07-05 21:15:21
您可以轻松地从零开始实现来自LinkedBlockingDeque的线程。用户可以将任务放置到deque的两边。
https://stackoverflow.com/questions/44935272
复制相似问题