標簽:pool adp execution result ade pre lex second except
1 package com.future; 2 3 import java.util.concurrent.*; 4 5 6 public class FDemo { 7 public static final ExecutorService service = Executors.newSingleThreadExecutor(); 8 public static final ExecutorService service1 = Executors.newSingleThreadExecutor(); 9 public static final ExecutorService threadPoolExecutor = new ThreadPoolExecutor(4, 10, 60, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(5)); 10 11 public static void main(String[] args) throws InterruptedException, ExecutionException, TimeoutException { 12 Future<Boolean> booleanTask = threadPoolExecutor.submit(() -> { 13 Thread.sleep(3000); 14 return true; 15 }); 16 System.out.println("11111111111"); 17 // 任務2 18 Future<String> stringTask = threadPoolExecutor.submit(() -> { 19 Thread.sleep(4000); 20 return "Hello World"; 21 }); 22 //當get的時候開始計算超時,如果不需要考慮超時,可以使用 23 //!booleanTask.isCancelled()&&booleanTask.isDone()來獲取值 24 Boolean result1 = booleanTask.get(3, TimeUnit.SECONDS); 25 System.err.println("任務1-10s: " + result1); 26 27 28 String result = stringTask.get(3, TimeUnit.SECONDS); 29 System.err.println("任務2-3s: " + result); 30 31 32 } 33 34 35 }
標簽:pool adp execution result ade pre lex second except
原文地址:https://www.cnblogs.com/zt1991jskj/p/13745541.html