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();
}
}

 

猜你喜欢

转载自blog.csdn.net/wt5264/article/details/80662985