有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用java安全吗。util。servlet中的计时器?

出于许多原因,在servlet中使用线程不是一个好的实践

java.util.Timer看起来像是线程的包装器。那么,使用它也不安全吗? 如果是这样,在servlet中安排任务最安全的方法是什么


共 (2) 个答案

  1. # 1 楼答案

    对。非常安全。servlet容器将负责HTTP请求的线程,但是您可以自己生成传统线程,不管它们的生命周期是限制在请求的生命周期内,还是更长

    例如,常见的模式是生成一个长时间运行的处理线程。Servlet请求将工作项放在队列中(用于带外处理),长时间运行的处理线程将处理这些工作项

    Here's an article from OReilly详细说明servlet和EJB中的计时器使用情况

  2. # 2 楼答案

    是的,你可以用定时器

    一个重要的要记住的事情是在servlet停止时取消计时器。如果忘记取消计时器,您的webapp将遭受内存泄漏(类加载器泄漏,因为计时器的线程通过其ContextClassLoader绑定到WebappClassLoader),并且无法多次部署