vir*_*sir 6 java concurrency multithreading
我使用ThreadPoolExecutor从Internet加载了大量图像.
找到新图像后,我需要先渲染它,在这种情况下,我想放弃仍在ThreadPoolExecutor中排队的旧任务,并添加这些新项目进行下载.
我发现ThreadPoolExecutor中没有"清除队列"方法,而"清除"方法听起来对此并不好.
我该怎么办?
我只是想调用这个执行器的"关闭"并重新创建一个新的执行器,不确定它是否合适.
小智 8
你试过这个吗?
ThreadPoolExecutor pool = .....; pool.remove(task);
Run Code Online (Sandbox Code Playgroud)
task是您要删除的Runnable.
或者如果要清除队列.
pool.getQueue().clear()
Run Code Online (Sandbox Code Playgroud)