Hi Arun,
Every servlet has its own service method. Since you are synchronizing on a single serlvet, only that servlet's service method will run in a single
thread at any time. Any other servlet doesn't get affected. thats the reason SingleThreadModel ensures the instance variable protection fot that servlet but not the context attributes.
Also context attributes are accessible by whole web-app, so any part of the application can access it and modify it anytime. So if you have to synchornize context attr., better get a lock on it first.