如何获得thread线程的threadlocals的key值
答案:2 悬赏:30 手机版
解决时间 2021-03-28 13:16
- 提问者网友:人生佛魔见
- 2021-03-27 23:06
如何获得thread线程的threadlocals的key值
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-03-28 00:01
[java] view plain copy
private static final ThreadLocal threadSession = new ThreadLocal();
public static Session getSession() throws InfrastructureException {
Session s = (Session) threadSession.get();
try {
if (s == null) {
s = getSessionFactory().openSession();
threadSession.set(s);
}
} catch (HibernateException ex) {
throw new InfrastructureException(ex);
}
return s;
}
可以看到在getSession()方法中,首先判断当前线程中有没有放进去session,如果还没有,那么通过sessionFactory().openSession()来创建一个session,再将session
private static final ThreadLocal threadSession = new ThreadLocal();
public static Session getSession() throws InfrastructureException {
Session s = (Session) threadSession.get();
try {
if (s == null) {
s = getSessionFactory().openSession();
threadSession.set(s);
}
} catch (HibernateException ex) {
throw new InfrastructureException(ex);
}
return s;
}
可以看到在getSession()方法中,首先判断当前线程中有没有放进去session,如果还没有,那么通过sessionFactory().openSession()来创建一个session,再将session
全部回答
- 1楼网友:千夜
- 2021-03-28 00:42
当前的thread线程是获取不到的,threadLocals的维护在jdk中说明了,是由threadLocal来维护的。如果应该从threadLocal中获取threadLocals的值。
如果想从当前的thread线程中获取的话,可以考虑使用缓存;
例如,以当前线程唯一属性或id,存入缓存中,当需要用时从缓存中拿。
如果想从当前的thread线程中获取的话,可以考虑使用缓存;
例如,以当前线程唯一属性或id,存入缓存中,当需要用时从缓存中拿。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯