脚本宝典收集整理的这篇文章主要介绍了Java执行器入门,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
package com.ex;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
PRivate ThreadPoolExecutor executor; public ThreadPoolExecutor getExecutor(){ return this.executor; } public Server(){
// executor=(ThreadPoolExecutor) Executors.newCachedThreadPool();// cache线程池在真正有任务的时候才初始化,随着任务变化而变化
executor=(ThreadPoolExecutor) Executors.newFixedThreadPool(10);//固定任务的线程池 System.out.println("总共线程池------------------------"+executor.getPoolSize()); System.out.println("活动的线程池数量---------------------"+executor.getActiveCount()); } public void excuteTask(Task task){ executor.execute(task); System.out.println("一共得线程池"+executor.getPoolSize()); System.out.println("活动的线程池数量,即正在处理任务的线程数量"+executor.getActiveCount()); } public static void main(String[] args) { Server server=new Server(); for(int i=0;i<100;i++){ Task task=new Task("线程id"+i); server.excuteTask(task); } /**
-
-
while(true){
if(server.getExecutor().getCompletedTaskCount()==100){
System.out.println("总共线程池------------------------"+server.getExecutor().getPoolSize()); System.out.println("活动的线程池数量---------------------"+server.getExecutor().getActiveCount()); server.getExecutor().shutdown(); break;
}
} }
}
package com.ex;
import java.util.Date;
public class Task implements Runnable{
private String name; private Date date; public Task(String name){ this.date=new Date(); this.name=name; } @override public void run() { try { System.out.println(this.name+"----开始执行任务"); Thread.sleep((long) (Math.random()*1000)); System.out.println(this.name+"----结束执行任务"); } catch (InterruptedException e) { e.printStackTrace(); } }
}
以上是脚本宝典为你收集整理的Java执行器入门全部内容,希望文章能够帮你解决Java执行器入门所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。