If servlet implements SingleThreadModel, then it makes "the web server queuing requests and start another instance of the servlet to service the demand". How it would be possible to determine existence of multiple instances in order to implement additional logic for this case? How many instances will be created? Is it possible to control? Is it possible to check the queue?
The implementation of multiple instances of a SingleThreaded servlet is highly container-specific, both in terms of how it's implemented and in terms of how many will be run. Most servers have a GUI or Web-based tool that will give you some control over the numbers.