在Struts 1 Action类中使用同步实例方法意味着什么?

时间:2011-05-04 10:02:14

标签: methods struts synchronized struts1

我想检查在Struts 1 Action类中使用同步实例方法意味着什么?

这样的东西
public synchronized String checkAction(){ ... } 

1 个答案:

答案 0 :(得分:4)

这意味着checkAction方法将由封闭的Object的内部锁(Action类Object的锁)进行同步。因此,一次只能有一个线程访问checkAction方法。

在Struts 1中,Action类不是线程安全的。因此,多个线程(例如,服务多个请求)将访问Action类的同一实例。该方法是否需要同步?我不确定 - 只有你能分辨出方法中发生了什么。只要它不访问Action类的实例变量或执行一次只能由单个线程完成的操作,那么可能不需要同步。