一、终止线程池主要有两个方法:shutdown() 和 shutdownNow()。
shutdown()后线程池将变成shutdown状态,此时不接收新任务,但会处理完正在运行的和在阻塞队列中等待处理的任务。
shutdownNow()后线程池将变成stop状态,此时不接收新任务,不再处理在阻塞队列中等待的任务,还会尝试中断正在处理中的工作线程。
二、空闲工作线程如何设置消亡(满足三个条件)
1) 参数allowCoreThreadTimeOut为true
2) 该线程在keepAliveTime时间内获取不到任务,即空闲这么长时间
3) 当前线程池大小 > 核心线程池大小corePoolSize。
三、Kerberos协议
1) 概述
1.用户的身份认证协议
2.网络架构是C/S架构,分为客户端和服务端;客户端主要负责认证请求的发起,服务端主要负责对身份的认证和授权票据的分发。
2) Kerberos认证方式
1.RPC认证:通过SASL或者GSSAPI实现RPC连接,并基于kerberos的用户的进程以及Hadoop服务的相互认证。
2.HTTP认证:基于HTTP协议中的SPENGO安全认证来实现基于kerberos的在Http方面的认证。