Struts is designed to be thread-safe by creating a new (or reusing a pooled) lightweight Action instance for each request. Each Action invocation operates on its own ActionForm instance with no shared state between requests, making thread safety the default when developers follow best practices.