ThreadPoolExecutor构造函数接受
BlockingQueue<Runnable>而不是
BlockingQueue<? extendsRunnable>,因此您不能传递给它的
PriorityBlockingQueue<mDownloadThread>实例。
您可以将的类型更改
queue为
PriorityBlockingQueue<Runnable>,但是在这种情况下,如果不将其
Comparator<mDownloadThread>强制转换为
compare方法,就无法实现。
另一种解决方案是绕过泛型类型检查,但是这将是你的责任,只提交的情况下
mDownloadThread,以
execute方法:
static ThreadPoolExecutor threadpool = new ThreadPoolExecutor(30, MAXPOOL, MAXPOOL, TimeUnit.SECONDS, (PriorityBlockingQueue) queue, new mThreadFactory());
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)