import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Test { public static void main(String[] args) { /*List<String> strs = new ArrayList<String>(); strs.add("a"); strs.add("b"); strs.add("c"); strs.add("d"); strs.add("e"); ManualApplyTask task = new ManualApplyTask(strs); ExecutorService muthreadPool = Executors.newSingleThreadExecutor(); muthreadPool.execute(task); muthreadPool.shutdown(); while(!muthreadPool.isTerminated()){ try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.println("手动代扣异常:"+e); } }*/ for(int i=0;i<3;i++){ List<String> strs = new ArrayList<String>(); strs.add("a"); strs.add("b"); strs.add("c"); strs.add("d"); strs.add("e"); Test test1 = new Test(); test1.executeTask(strs); System.out.println("test end" + i); } System.out.println("main end"); } public void executeTask(List<String> strs){ ManualApplyTask task = new ManualApplyTask(strs); ExecutorService muthreadPool = Executors.newSingleThreadExecutor(); muthreadPool.execute(task); muthreadPool.shutdown(); while(!muthreadPool.isTerminated()){ try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.println("手动代扣异常:"+e); } } } class ManualApplyTask implements Runnable{ private List<String> strs; public ManualApplyTask(List<String> strs){ this.strs = strs; } public void run(){ synchronized (ManualApplyTask.class){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } for(String str : strs){ System.out.println(str); } System.out.println("task end"); } } } }
ExecutorService的使用
最新推荐文章于 2021-12-19 20:06:23 发布