1. 程式人生 > >java多執行緒(13)執行緒池

java多執行緒(13)執行緒池

  1. 當程式中需要大量並且生存週期很短的執行緒時候,可以考慮使用執行緒池,執行緒池的工作原理是線上程池創立的時候就建立大量空閒的執行緒,當一個Runnable或者Callable物件傳到執行緒池的時候,執行緒池就啟動一執行緒來執行他們的run或者call方法,當run或者call方法完畢後,這個執行緒並不會就死亡,而是回到執行緒池中成為空閒狀態,等待下次執行的機會。
  2. 以下為程式碼示例,具體的講解穿插在程式碼中
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    class MyThread1 implements Runnable{
        public void run(){
            for(int i=0; i<100; i++){
                System.out.println(Thread.currentThread().getName() + "的i的值為" + i);
            }
        }
    }
    
    
    public class ThreadPoolTest {
        public  static void main(String args[]) throws Exception{
            ExecutorService pool = Executors.newFixedThreadPool(6);
    //        新建一個執行緒池
            
            pool.submit(new MyThread1());
    //        將一個執行緒提交到執行緒池
            
            pool.submit(new MyThread1());
    //        將一個執行緒提交到執行緒池
            
            pool.shutdown();
    //        關閉執行緒池
    
        }
    }