1.struts是不是已经实现了多线程了?
我是这么想的,根据struts的工作流程,当用户请求一个action时就创建对应action的一个对象去执行相应的方法,当多个用户请求时就是为每一个用户创建了一个对象。这样是不是就相当于实现了多线程了?
2.有没有办法只让action实例化一次?
因为我的action中要把一个文件读到内存中,所以如果为每个请求创建一个对象的话,内存需求一定会不断变大。
3.能不能只读一次所有对象都去用 ?
读取文件也是十分耗时间的,所以能不能只读取一次文件让所有对象都去用?
我是这么想的,根据struts的工作流程,当用户请求一个action时就创建对应action的一个对象去执行相应的方法,当多个用户请求时就是为每一个用户创建了一个对象。这样是不是就相当于实现了多线程了?
2.有没有办法只让action实例化一次?
因为我的action中要把一个文件读到内存中,所以如果为每个请求创建一个对象的话,内存需求一定会不断变大。
3.能不能只读一次所有对象都去用 ?
读取文件也是十分耗时间的,所以能不能只读取一次文件让所有对象都去用?
struts2 的才是多实例的吧,
在与spring集成的时候可以指定是以单例创建还是多例创建
static
{
//内容。
}
public class LoginAction extends ActionSupport{
public String execute() throws Exception {
ReadIndex read=new ReadIndex();
.....
}
}
public class ReadIndex{
static{
List list=read();
}
//这里可能还要调用其它的类
}这样话是不是ReadIndex里静态的量只在有action对象存在它就一直在?
如果ReadIndex里还调用了别的类,并且它调用的这个类里也有静态量,这些静态量也是只要有action对象存在它就存在吧?
这样做有没有线程安全问题?