@Test public void lastestFeeds() { ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 20, 1000L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(1000)); CountDownLatch latch = new CountDownLatch(7); List<Callable<String>> tasks = new ArrayList<>(7); tasks.add(new Callable<String>() { @Override public String call() throws Exception { //1. 获取你得好友列表 return "a"; } }); tasks.add(new Callable<String>() { @Override public String call() throws Exception { //2. 去掉把你删除的好友 return "b"; } }); tasks.add(new Callable<String>() { @Override public String call() throws Exception { //3. 去掉被你删除的好友 return "c"; } }); tasks.add(new Callable<String>() { @Override public String call() throws Exception { //4. 去掉被你设置过"不看他(她)的朋友圈"的好友 return "d"; } }); tasks.add(new Callable<String>() { @Override public String call() throws Exception { //5. 去掉对你设置过"不让他(她)看我的朋友圈"的好友 return "e"; } }); tasks.add(new Callable<String>() { @Override public String call() throws Exception { //6. 去掉被你拉黑和把你拉黑的好友 return "f"; } }); tasks.add(new Callable<String>() { @Override public String call() throws Exception { //7. 去掉被微信系统标记为作弊的好友 return "g"; } }); List<String> list=new LinkedList<>(); try { //List<Future<String>> futureList = executor.invokeAll(tasks); List<Future<String>> futureList = executor.invokeAll(tasks, 500, TimeUnit.MILLISECONDS); for(Future<String> future : futureList) { if(future.isCancelled()) { //处理 } try { future.get(); list.add(future.get()); } catch (ExecutionException e) { e.printStackTrace(); } } } catch (InterruptedException e) { e.printStackTrace(); } }
并发执行任务
最新推荐文章于 2024-10-27 23:30:00 发布