0

因为我发现在 Tomcat 7 源代码中bindThread()命名的类中多次调用了命名的方法,特别是在名为. 我不明白为什么需要多次调用此方法。StandardContextstartInternal()

实际上bindThread()是设置了线程上下文类加载器,但我不知道为什么仍然在调用中多次使用bindThread()unbindThread()方法对。startInternal()

4

1 回答 1

0

Web 应用程序的启动和停止通常在容器类加载器生效的情况下发生。启动(和停止)过程的某些部分(例如触发应用程序侦听器)需要在 Web 应用程序类加载器生效的情况下进行。bindThread() 和 unbindThread() 分别是切换到 Web 应用程序类加载器并再次返回的方法。启动和停止的各种元素必须以特定的顺序发生,因此有必要在类加载器之间来回切换。

于 2013-10-12T16:22:42.373 回答