Java之Thread學習(二)

線程組:

          線程組表示一個線程的集合。此外,線程組也可以包含其他線程組 

線程池(某個線程執行完畢,反覆利用線程對象)

所有的線程它默認的線程組名稱:main(主線程)


常用方法:

        public ThreadGroup(String name)構造一個新線程組

        public Thread(ThreadGroup group, Runnable target, String name) 構造新的線程

        public final ThreadGroup getThreadGroup()返回該線程所屬的線程組

        public final String getName():返回線程組的名稱


線程池:多個線程執行完畢,它會重新回到線程池中,等待被利用,不會變成垃圾!

 和線程池有關的類

            Executors: 一種工廠類

                        方法:
              和線程池的創建有關係
                  public static ExecutorService newFixedThreadPool(int nThreads)         創建一個可重用固定線程數的線程池
                       ExecutorService:可以執行異步任務
                    創建一個線程池,執行接口中的方法
              提交:Future<?> submit(Runnable task)
      <T> Future<T> submit(Callable<T> task)提交一個返回值的任務用於執行,返回一個表示任務的未決結果的 Future
                       Future:接口
                  Future 表示異步計算的結果
                  線程池調用完畢可以關閉的

  void shutdown():關閉之前,會提交剛纔的任務


public class ExecutorsTest {  
public static void main(String[] args) throws InterruptedException, ExecutionException {  
    ExecutorService pool=Executors.newFixedThreadPool(2);  
    Future<Integer> f1=pool.submit( new MyCallable(100));  
    Future<Integer> f2 = pool.submit(new MyCallable(100));  
    Integer i1 = f1.get();  
    Integer i2 = f2.get();  
    System.out.println(i1);  
    System.out.println(i2);  
    pool.shutdown();  
}  
}  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章