Struts2如何在没有线程的情况下获得性能?

时间:2012-04-10 11:42:01

标签: java struts2 thread-safety

在Struts2中,每个请求都创建动作对象。所以这里没有线程。它完全线程安全。 但它如何提供良好的表现。这里每个对象都在一个堆栈中工作。 (但线程将创建多个堆栈以供执行)

如何在没有线程的情况下处理多个数组的请求?

1 个答案:

答案 0 :(得分:2)

简而言之,如果你知道S2究竟是如何工作的,你就会知道为什么这是这样设计的。

在S2中,您的操作类也可以作为Model对象使用,例如将数据从UI传输到bean以及从bean传输到UI,这是决定为每个请求创建Action实例的新副本的原因之一。

关于性能,如果我正确地为每个请求创建线程,那么框架必须处理同步数据以使它应该是线程安全的,这实际上是一个很大的开销,并且最终将不会提高整体性能。

S2动作既不是servlet也不是控制器。我相信你会对S2过滤器和S2 Action类感到困惑,最后每个请求都有自己的请求范围S2动作实例。