Runnable是否由Servlet线程中的AsyncContext启动?

时间:2014-12-29 17:09:53

标签: java multithreading java-ee servlets asynchronous

我几乎可以肯定,但最好澄清一下:如果在Runnable的servlet请求中启动了AsyncContext,那么运行方法线程中的代码是 - 安全?我认为是。因为每个帖子都有一个新的Runnable,不是吗?任何人都可以澄清这个问题吗?

1 个答案:

答案 0 :(得分:3)

除非像这样明确地编写,否则没有Java代码本质上是线程安全的。 AsyncContext公开了一个接受start(Runnable)值的Runnable方法。如果您有Runnable实例并将其作为参数传递给start(..),然后在其他某个线程中重复使用它,则其线程安全性可能会受到影响。

更重要的是,如果您的Runnable初始化时某个状态与您的应用的其他部分共享,其线程安全性将再次不确定。

关于你如何管理它的全部内容。