线程池
一 线程池
1)线程容器 ; 可设定线程分配数量
2)将与现的线程对象存入到池中 ,并重用现线程池中的线程
3)避免频繁的创建和销毁
线程池原理 :将任务提交给任线程池 ,由线程池分配线程 运行任务 并在当前任务结束复用线程
二 获取线程池
常用类软件包 (java.util.concurrent)
1)Executor; 线程池的顶级接口
2)ExecutiorService (上面的子接口)(常用),可通过submit(Runnnable tas)提交任务
3)Executors工厂类:通过这个类可以获得一个线程池 。
4)Executors.newFixedTheardPool(int )创建线程池 。
三 Callable 接口
Callable
四 Future接口
概念 :异步接受 ExecutorService.submit()返回状态
方法 : get()以阻塞形式等待 Future异步处理结果 ;
使用future的get接受call方法的值 call的泛型是由callable的泛型又来的
在使用get方法时 使用异常处理
五 线程的同步 ;
同步 ;形容一次方法调用 ,同步一旦开始 调用者务必须等待返回 才能继续执行
单挑执行路径
异步;
形容一次方法调用 异步一旦开始,像是一次消息通知调用者通知调用者之后立即返回 二者竞争时间片 ,并发执行
多条执行路径 ;