gpt4 book ai didi

java - Servlet 线程中由 AsyncContext 启动的 Runnable 是否安全?

转载 作者:行者123 更新时间:2023-12-01 22:31:16 24 4
gpt4 key购买 nike

我几乎可以肯定,但最好澄清一下:如果 Runnable 在 servlet 请求的 AsyncContext 中启动,那么代码是在run方法线程安全吗?我想是的。因为每个线程都有一个新的 Runnable,不是吗?谁能解释一下这个问题吗?

最佳答案

除非像这样显式编写,否则任何 Java 代码本质上都是线程安全的。 AsyncContext暴露 start(Runnable)接受 Runnable 的方法值(value)。如果您有Runnable实例并将其作为参数传递给 start(..)然后在其他线程中重新使用它,其线程安全性可能会受到损害。

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

这完全取决于你如何管理它。

关于java - Servlet 线程中由 AsyncContext 启动的 Runnable 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27693056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com