Alguém sabe apontar um uso de STM, pois principalmente para certificação indica-se o não uso … o porque do não uso eu sei … mas ela existe por algum motivo … se alguém souber e puder dividir conosco! 
Desde já Agradeço!
Alguém sabe apontar um uso de STM, pois principalmente para certificação indica-se o não uso … o porque do não uso eu sei … mas ela existe por algum motivo … se alguém souber e puder dividir conosco! 
Desde já Agradeço!
Single Thread Model está obsoleta desde a especificação 2.4 de Servlets.
Isso existe, na verdade, pelo seguinte motivo: digamos que você tenha alguma coisa nessa servlet que somente possa ser acessada por uma thread de cada vez. Esse tipo de coisa costuma ocorrer, por exemplo, quando você chama código escrito em alguma outra linguagem (como C), ou mesmo código Java mal-escrito, que tenha problemas muito sérios se for chamado por várias threads ao mesmo tempo . (Não sei se conexões JDBC-ODBC ao Access, por exemplo, se enquadram nesse tipo de código com problemas de threading).
Você então define que essa servlet (que tem de chamar esse código “egoísta” porque só deixa uma thread de cada vez executá-lo) usa o Single Thread Model. Mas isso é mais um quebra-galho que outra coisa, tanto é que é por isso que ficou obsoleto desde Servlets 2.4.
[quote=entanglement]Single Thread Model está obsoleta desde a especificação 2.4 de Servlets.
Isso existe, na verdade, pelo seguinte motivo: digamos que você tenha alguma coisa nessa servlet que somente possa ser acessada por uma thread de cada vez. Esse tipo de coisa costuma ocorrer, por exemplo, quando você chama código escrito em alguma outra linguagem (como C), ou mesmo código Java mal-escrito, que tenha problemas muito sérios se for chamado por várias threads ao mesmo tempo . (Não sei se conexões JDBC-ODBC ao Access, por exemplo, se enquadram nesse tipo de código com problemas de threading).
Você então define que essa servlet (que tem de chamar esse código “egoísta” porque só deixa uma thread de cada vez executá-lo) usa o Single Thread Model. Mas isso é mais um quebra-galho que outra coisa, tanto é que é por isso que ficou obsoleto desde Servlets 2.4.[/quote]
Pow Brother Obrigadão Mesmo!
Eu sei que Java Script roda em somente uma thread no Browser(Motivo qual não se pode fazer um “for” infinito), então achei que houvesse alguma aplicação(Não POG
), que nessecitasse do STM.
Valeuzão mesmo 
Na verdade se seu servlet implementar a Single Thread Model, você está falando para o container que seu Servlet temque ser thread safe, ou seja não pode haver concorrencia em seu metodo service.
A natureza do servlet não é thread safe, para poder processar varias requisições de forma “paralela” (cada solitação do browser o container cria uma thread para executar o metodo service do servlet) dessa forma sua aplicação fica bem mais rápida, ou seja se 100 clientes acessar seu servlet, você vai ter 100 threads rodando ao mesmo tempo para atender todos eles.
Quando você implementa a Single Thread Model você fala para seu servlet processar apenas uma solicidação de cada vez, esta forma podemos observar que causa um “overload” muito grande na aplicação, por isso não é uma boa opção a implementação dessa interface, pois o servlet perde um “pouco” a semantica, e dependendo da forma que o container interpreta essa interface STM ele perde “toda” a semantica.
Existe outra forma de fazer com que seu servlet seja thread safe sem prejudicar sua aplicação, como declarando variaveis como local, usar os parametros da solicitação, sincronizar o ServletContext, sincronizar o HttpSession…
Espero ter ajudado.
Abraços
ErickMacedo Ajudou sim tenha certeza disto!
Obrigado Brother!