Multithreading Java DAO对象使多线程?

Multithreading Java DAO对象使多线程?,multithreading,dao,Multithreading,Dao,我正在使用struts1.3动作层和hibernate。我正在通过HeperFactory模式访问,以创建帮助器实例来访问DAO层。 helper工厂似乎是单实例的,但线程是安全的。当我做多次更新时,它会花费很长时间。 我想实现的是有任何设计模式或机制来实现多线程助手访问。每个线程(请求)对于每个访问dao请求都应该有一个助手实例 I have two approaches 1. Using the singleton pattern (creating a single instance of

我正在使用struts1.3动作层和hibernate。我正在通过HeperFactory模式访问,以创建帮助器实例来访问DAO层。 helper工厂似乎是单实例的,但线程是安全的。当我做多次更新时,它会花费很长时间。 我想实现的是有任何设计模式或机制来实现多线程助手访问。每个线程(请求)对于每个访问dao请求都应该有一个助手实例

I have two approaches
1. Using the singleton pattern (creating a single instance of each class and sharing them among threads)...
2. creating instances of the classes in each thread as and when they are needed. 
如何达到第二点?是否有API或我应该使用池机制?第二点(数据丢失)是否存在任何问题

这是我现有的代码: TaskAction.java 公共集体诉讼{

public void udpateRecord(){
    ......
    TaskHelper taskHelper = (TaskHelper) HelperFactory
            .getHelperInstance(TaskHelper.class);
    taskHelper.updateRecord(daoObj);
    ......
}
}

HelperFactory.java
您确定数据库不是您的瓶颈吗?数据库中使用的是哪种隔离级别,不可序列化?您确定线程不会更新相同的内容,并且不会存在争用条件吗?是。我的数据库中没有瓶颈。但当我使用singleton类创建对象时,我无法实现多线程的概念。我的目标是通过独立调用访问dao层
public final class HelperFactory{
 public static Object getHelperInstance(Class<?> helperClass) {
        try {
            return LookUpFactory.getLookUpFactory().lookUpClass(helperClass);
        } catch (InstantiationException e) {
            throw new RuntimeException(e);
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
     }
}
public Object lookUpClass(String lookupClass)
        throws InstantiationException, IllegalAccessException,
        ClassNotFoundException {
    if (lookupClass == null) {
        throw new IllegalArgumentException(
                "supplied lookupClass to lookup was null");
    }
    Object obj = this.objects.get(lookupClass);
    if (obj == null) {
        obj = Class.forName(lookupClass).newInstance();
        this.objects.put(lookupClass, obj);
    }
    return obj;
}