解答
1 登录的用户信息:
假如有两个用户 A 和 B,他们分别进行登录,并且他们的每次请求都会带有自己的 token,在请求到达 controller 之前(preHandle() 中),每次都会被会被拦截器进行拦截,提取出当前 token 中的用户信息(比如 userId),认证通过以后在 service 中就可以通过 Contenxt 类获取提取出来的用户信息。
Context 类可以使用 ThreadLocal 类型的对象 (ThreadLocal USER_ID = new …) 进行存储
2 线程池:多个线程频繁访问时对conn对象的原子性造成影响,所以需要使用同步机制,但是使用严格的lock机制又会造成性能的下降。
可以使用ThreadLocal为每个请求保持conn的副本,通过其隔离性较好的降低对象的同步问题和创建开销
帖子还没人回复快来抢沙发