在各种session 管理方案中, threadlocal 模式得到了大量使用.threadlocal 是
也就是说,jvm 为每个运行的线程,绑定了私有的本地实例存取空间,从而为多线程环境常出 【程序编程相关:JSP 2.0 + ORACLE 9i 】java中一种较为特殊的线程绑定机制.通过threadlocal存取的数据,总是与当前线程相关, 【推荐阅读:删除Java对象的错觉】首先,我们需要知道,sessionfactory负责创建session,sessionfactory是线程 【扩展信息:实现可自定义的搜索功能】现的并发访问问题提供了一种隔离机制.安全的,多个并发线程可以同时访问一个sessionfactory 并从中获取session 实例.而session并非线程安全,也就是说,如果多个线程同时使用一个session实例进行数据存取,则将会导致session 数据存取逻辑混乱.下面是一个典型的servlet,我们试图通过一个类变量session实现session的重用,以避免每次操作都要重新创建:public class testservlet extends httpservlet {private session session;public void doget( httpservletrequest request,httpservletresponse response)throws servletexception, ioexception {session = getsession();dosomething();session.flush();}public void dosomething(){......//基于session的存取操作}}代码看上去正确无误,甚至在我们单机测试的时候可能也不会发生什么问题,但这样的代hibernate developer’s guide version 1.0september 2, 2004 so many open source projects. why not open your documents?码一旦编译部署到实际运行环境中,接踵而来的莫名其妙的错误很可能会使得我们摸不找头脑.... 下一页