標籤:初始 exe run 工廠 code fixed .exe style override
java線程池
java線程池通過Executors工廠類初始化線程池
1. 建立大小不固定的線程池
使用ExecutorService es = Executors.newCachedThreadPool();
產生大小不固定的線程池,
es.excute(任務)
public class ThreadPoolTest { public static class Taskdemo implements Runnable{ @Override public void run() { for(int i = 0;i < 10;i++){ System.out.println(Thread.currentThread().getName()+":"+i); } } } public static void main(String[] args){ ExecutorService es = Executors.newCachedThreadPool(); for(int i = 0;i< 11 ;i++){ Taskdemo tc = new Taskdemo(); es.execute(tc); } }}
2. 產生線程大小固定的線程池
ExcutorService es= Excutors.newFixedThreadPool(2);
public static void main(String[] args) { ExecutorService es=Executors.newFixedThreadPool(2); for(int i=0;i<10;i++){ Taskdemo tc=new Taskdemo(); es.execute(tc); } es.shutdown();}
3. 產生單個線程的線程池
public static void main(String[] args){ ExecutorService es = Executors.newSingleThreadExecutor(); for(int i = 0;i< 11 ;i++){ Taskdemo tc = new Taskdemo(); es.execute(tc); }}
4. 產生一個定時的線程池
public static void main(String[] args){ ScheduledExecutorService es = Executors.newScheduledThreadPool(2); for(int i = 0;i< 11 ;i++){ Taskdemo tc = new Taskdemo(); es.scheduleAtFixedRate(tc,30,10, TimeUnit.SECONDS); }}
含義是:程式運行開始,30s開始執行,每個十秒重新執行一次。
java線程池