ExecutorService pool = null; pool = Executors.newFixedThreadPool(BaseBlockUtil.THREAD_NUN); CompletionService<BlockObject> completionService = new ExecutorCompletionService<BlockObject>(pool); int runnerThread = 0; foreach (BlockObject blockObject in putExtra.processes) { runnerThread++; while (runnerThread > (BaseBlockUtil.THREAD_NUN + 1)) { completionService.take().get(); runnerThread--; } BlockUpload task = new BlockUpload(blockObject, jsonObjectRet, putExtra, token, httpClient, uploadBatch); completionService.submit(task); } for (int i = 0; i < runnerThread; i++) { completionService.take().get(); } pool.shutdown();
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)