摘要: ThreadLocal的功能在Java多线程并发环境中非常实用,其作用是提供线程本地变量,例如用户ID、会话ID等与当前线程密切关联的信息。那么它在实际业务场景中可以怎么使用呢?让我们一起来看看下边这个案例。 有一台 Web 服务器,需要设计一个组件,用于记录每次请求完整执行的耗时时长,整体流程如下 阅读全文
posted @ 2023-03-25 23:23 Dazzling! 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 相信在实际工作中,大家对于线程池的使用并不陌生,例如以下几个应用场景: 支付成功之后,异步发送短信通知用户; 公司的OA系统中,提交某些申请之后,异步发送给各个部门负责人进行审批; 请求某个接口时,需要做些日志上报之类的记录。 线程池的使用 下边是一个非常简单的线程池使用案例: public cla 阅读全文
posted @ 2023-03-25 14:51 Dazzling! 阅读(44) 评论(0) 推荐(0) 编辑
摘要: Java 内部提供了两种方式来解决线程安全问题,一种是加入synchronized 关键字,另一种则是使用 Lock 锁。虽然说这两种方式都能解决掉线程安全的问题,但是在某些场景下会稍微有些麻烦,例如下边这个场景,每次请求接口都会对 reqCount 做一次加一操作: @RestController 阅读全文
posted @ 2023-03-25 09:58 Dazzling! 阅读(48) 评论(0) 推荐(0) 编辑