线程池

65 阅读2分钟

异步如何做?按什么规则开线程、线程上限如何限定、并发大了如何处理?

JSF java 构建框架

JavaServer Faces (JSF) 是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。它提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了 Java 服务器端应用程序的开发。 由于由Java Community Process (JCP) 推动,属于[Java EE 5]中的[技术规范]而受到了厂商的广泛支持。

SLA :定义 服务等级协议(英语:service-level agreement,缩写SLA),是服务提供商与客户之间定义的正式承诺。 [服务级别协议 是服务提供商与其客户端之间具有约束力的合同

Executors 类

1.newCachedThreadPool可缓冲线程池

2.newFixedThreadPool固定大小线程池

2.newFixedThreadPool固定大小线程池

3.newScheduledThreadPool定时任务线程池

4.newSingleThreadExecutor单个线程池

5.newSingleThreadScheduledExecutor单线程定时任务线程池

6.newWorkStealingPool窃取线程池

image.png

阿里建议

使用ThreadPoolExecutor类创建线程池,其实从刚刚看到的Executors类创建线程池的newFixedThreadPool等方法可以看出,它也是使用ThreadPoolExecutor类创建线程池的

单例模式应用场景

1、数据库连接池:单例模式可以确保在某个时刻只有一个数据库连接池实例存在,避免出现重复连接的问题。

2、日志处理器:在大多数情况下,我们创建一个日志处理器实例就足够了,使其成为单例可以减少内存和资源的浪费。

并发处理

【强制】获取单例对象需要保证线程安全,其中的方法也要保证线程安全。

  • 说明:资源驱动类、工具类、单例工厂类都需要注意。

  • 单例模式:在运行期间,保证某个类只创建一个实例