【问题标题】:change existing task prority in PriorityBlockingQueue更改 PriorityBlockingQueue 中的现有任务优先级
【发布时间】:2015-05-28 06:46:30
【问题描述】:

如果某个任务已经在阻塞队列中(假设轮询已满)并且我现在希望它具有更高的优先级,我该如何更改它?

E.G:实现这个答案

Specify task order execution in Java

我把线程轮询设置为 3,发送 8 个任务,优先级均为 1。

现在 3 个正在执行,5 个正在等待可用线程。

现在我希望等待列表中的任务号 3 优先级为 2,这意味着当一个线程在另一个 4 之前打开时,它将立即执行。

可以吗?

P.S - 我想在安卓应用上做,推荐吗?

【问题讨论】:

    标签: java multithreading priority-queue


    【解决方案1】:

    如果它已经在PriorityQueue 中,则更改优先级不会影响任何事情。您必须将其移除并重新插入。

    【讨论】:

    • 如果是这样,如何删除特定任务?如果执行者已经关闭,可以这样做吗? (一旦所有请求都在队列中,我将其关闭)
    猜你喜欢
    • 2016-08-11
    • 1970-01-01
    • 2011-06-09
    • 2011-05-26
    • 2012-02-24
    • 2019-08-15
    • 2012-03-03
    • 1970-01-01
    • 2011-06-10
    相关资源
    最近更新 更多