我知道会话不是线程安全的.我的第一个问题是:将实体传递给另一个线程是安全的,做一些工作,然后将其传回原来的线程并进行更新.
public class Example1 { MyDao dao; ... public void doWork() { MyEntity entity = dao.getEntity(); Runnable job = new Job(entity); Thread t = new Thread(job); t.run(); t.join(); dao.merge(entity); } }
我的第二个问题是:在一个线程中新建一个实体并将其保存在另一个线程中是否安全?
public class Example2 { MyDao dao; ... public void doWork() { MyEntity entity = new Entity(); new Thread(new Job(dao,entity)).run(); } } public class Job implements Runnable { private MyDao dao; private MyEntity entity; ... @Override public void run() { dao.save(entity); } }
编辑我忘记提到这些实体是专门配置为急切加载
解决方法
原文地址:https://www.jb51.cc/java/124531.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。