那你就不要让多个客户端同时访问同一个Servlet Instance

解决方案 »

  1.   

    上面是说如果在线程中不做同步的话则Matcher不是线程安全的,但是在servlet中不存在这种问题,因为servlet container 会为每一个调用者生成一份实例,所以不用担心同步问题
      

  2.   

    to 楼上
    servlet默认好像是线程共享的吧
    当servlet的service方法不是线程安全的时候要实现SingleThread借口,或者在相应的方法上实现synchronized。??
      

  3.   

    jdk1.4中Servlets typically run inside multithreaded servlet containers that can handle multiple requests concurrently. Developers must be aware to synchronize access to any shared resources such as files, network connections, and as well as the servlet's class and instance variables.
      

  4.   

    谢谢!有几个问题:
    1、那所谓的共享资源除了数据库链接、文件等外,还有什么情况需要同步呢,有什么经验?常见的非thread safe的类有哪些?
    2、我看过一些数据库连接的例子,好像都没进行同步,是程序有漏洞吗?
    3、JDK文档中没有明确指出是否thread safe的类,是否都可认为是安全的?
      

  5.   

    一般来说多些文件,网络连接,等等  ,关键是看你要做的事情,而不是类
    有些累视线城同步,比如 hashtable.
    一般数据库连接是由连接池管理的,不会冲突。
    具体那些类是thread safe,还是看jdk把。:)