njuptsoz
njuptsoz
2008-10-12 22:01

请教一个servlet 线程安全的问题

已采纳

刚刚看到一句:

如何现实servlet的单线程模式?

答案是: <%@ page isThreadSafe=”false”%>



为什么不是 true 呢?



单线程就是使用同步,而同步就是线程安全的,所以 不就是 isThreadSafe="true" 吗?



请大家指教。



thanks advanced

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • bluespring bluespring 13年前

    楼主你看的书或网页误导你了,垃圾翻译的垃圾信息。

    <%@ page isThreadSafe=”false”%>
    并不是servlet的单线程模式,servlet永远是运行于多线程环境的,一个request一个线程。这句配置实际是指明使用servlet的单例模式,即所有request的线程都使用同一个servlet实例处理,这种模式带来性能的提升(不用每次request访问都创建servlet)。但是它不是线程安全的,如果servlet中有自己的field,多个线程访问修改这个field将会导致不可预料了问题。所以配置中是isThreadSafe=”false”,告诉你这样配置是线程不安全的。

    点赞 评论 复制链接分享

相关推荐