更改 PriorityBlockingQueue 中的现有任务优先级
change existing task prority in PriorityBlockingQueue
如果某个任务已经在阻塞队列中(假设轮询已满),我如何更改它的优先级并且我现在希望它具有更高的优先级?
E.G:实现这个答案
Specify task order execution in Java
我将线程轮询设置为 3,发送 8 个优先级均为 1 的任务。
现在 3 个正在执行,5 个正在等待可用线程。
现在我希望等待列表中的任务编号 3 的优先级为 2,这意味着当一个线程在其他 4 个之前打开时它会立即执行。
能做到吗?
P.S - 我想在 android 应用程序上执行此操作,推荐吗?
如果它已经在 PriorityQueue
中,则更改优先级不会有任何影响。您必须将其移除并重新插入。
如果某个任务已经在阻塞队列中(假设轮询已满),我如何更改它的优先级并且我现在希望它具有更高的优先级?
E.G:实现这个答案
Specify task order execution in Java
我将线程轮询设置为 3,发送 8 个优先级均为 1 的任务。
现在 3 个正在执行,5 个正在等待可用线程。
现在我希望等待列表中的任务编号 3 的优先级为 2,这意味着当一个线程在其他 4 个之前打开时它会立即执行。
能做到吗?
P.S - 我想在 android 应用程序上执行此操作,推荐吗?
如果它已经在 PriorityQueue
中,则更改优先级不会有任何影响。您必须将其移除并重新插入。