Struts2 Action classes are thread safe because an object is instantiated for every request to handle it.
Struts2 interceptors are singleton classes and a new thread is created to handle the request, so it’s not thread safe and we need to implement them carefully to avoid any issues with shared data.