宿迁房价,怎么给网站做seo优化,贵州省公路建设有限公司网站,东道网站建设新增实现方式之实现Callable接口
特点
1、可以有返回值。 2、方法可以抛异常。 3、支持泛型的返回值。 4、需借助FutureTask类#xff0c;比如获取返回值。
步骤
1、创建一个实现Callable接口的实现类。 2、重写call方法#xff0c; 将此线程需执行的操作声明在call…新增实现方式之实现Callable接口
特点
1、可以有返回值。 2、方法可以抛异常。 3、支持泛型的返回值。 4、需借助FutureTask类比如获取返回值。
步骤
1、创建一个实现Callable接口的实现类。 2、重写call方法 将此线程需执行的操作声明在call中。 3、创建Callable接口实现类的对象。 4、将Callable 接口实现类的对象传递到FutureTask构造器中创建Future Task的对象。 5、将FutureTask的对象作为参数传递到Thread类的构造器中创建Thread对象并调用start()。 6、获取Callable 中call的返回值。
方法
get()获取返回值
新增实现方式之创建线程池
步骤
1、提供指定线程数量的线程池。例
ExecutorService service Executors. newFixedThreadPool(线程数)
2、执行指定的线程操作需提供实现Runnable接口或Callable接实现类的对象。例
t.execute(Runnable runnable):
3、关闭连接池
好处
1、提高响应速度减少创建新线程的时间。 2、降低资源消耗重复利用线程池中的线程不须重复创建。 3、便于线程管理。 ① core Poolsize核心池的大小 ②maximumPoolsize最大线程数 ③keepAliveTime线程没有任务时最多保持多长时间后终止。
线程池相关API:ExecutorService和Executors
ExceutorService真正的线程池接口
①void executeRumable runnable执行任务/命令无运回值用来执行Runnuble接口的实现类。
②TFutureT submitCallableT task有返回值用来执行Callable接口的实现类。
③void shutdown()关闭连接池
Exeecutors工具类用来创建并返回不同类型的线程池
① new CachedThreadPool创建任意数量线程的线程池。
② new FixedThread Pool创建一个固定线程的线程池。
③ new SingleThread Excutor创建只有一个线程的线程池。
④new ScheduledThreadPool(n)创建一个线程池可安排在给定延迟后行命令或定期地执行。