如果我有一个带有静态方法的util类,它将调用Hibernate函数来完成基本的数据访问.我想知道是否使用该方法synchronized是确保线程安全的正确方法.
我希望这可以防止信息访问同一个数据库实例.但是,我现在确定以下代码是否阻止getObjectById在特定类调用所有类时调用它们.
public class Utils {
public static synchronized Object getObjectById (Class objclass, Long id) {
// call hibernate class
Session session = new Configuration().configure().buildSessionFactory().openSession();
Object obj = session.load(objclass, id);
session.close();
return obj;
}
// other static methods
}
Run Code Online (Sandbox Code Playgroud) 我有一个使用20个线程的java程序.他们每个人都在一个名为的文件中写下他们的结果output.txt.
我总是得到不同数量的线output.txt.
这可能是线程同步的问题吗?有办法处理这个吗?