具有优先级的下载管理器(Java、Android)
我正在我的应用程序中做一个小的下载管理器。我在用具有优先级的下载管理器(Java、Android),java,android,multithreading,download,Java,Android,Multithreading,Download,我正在我的应用程序中做一个小的下载管理器。我在用 ThreadPoolExecutor threadpool = new ThreadPoolExecutor(1,210, (int) 210, TimeUnit.SECONDS,new ArrayBlockingQueue<Runnable>(210), new mThreadFactory()); 最近我对我的应用程序做了一点改动,现在我需要区分两种下载:前台下载(用于需要尽快向用户显示的元素)和后台下载,例如,用于在磁盘上保存
ThreadPoolExecutor threadpool = new ThreadPoolExecutor(1,210, (int) 210, TimeUnit.SECONDS,new ArrayBlockingQueue<Runnable>(210), new mThreadFactory());
最近我对我的应用程序做了一点改动,现在我需要区分两种下载:前台下载(用于需要尽快向用户显示的元素)和后台下载,例如,用于在磁盘上保存Internet资源
我希望在选择新元素进行下载时始终使用某种类型的池执行器优先考虑前台下载(如果存在),否则下载后台资源
有人能用这个解决方案指导我吗
提前感谢您可以使用PriorityBlockingQueue而不是ArrayBlockingQueue,并为前台下载提供更高的优先级
threadpool.execute( new DownloadRunnable(url) );