多线程如何在Web环境中工作

仍然在学习

我正在使用Spring和Core Java开发一个Web应用程序。每当请求来自客户端并由Spring控制器处理时。

@Controller("action")
public class RequestHandler{

@Autowired
private IndialHandler indial;

    @Request("/indialCall")
    public void processWork(HttpServletRequest request){

      String did = request.getParameter("did");
      String resp = indial.dialCall(did);

    }
    }

    public class IndialHandler{

    public String dialCall(String did){
       return checkVoiceCall(did);
    }

    public String checkVoiceCall(String did){

    //here i have a db call, which returns either 1 or 2.

    return service.dbCall(did);

    }


    }

我对这个程序的理解是,因为每个新请求都会在JVM中创建一个新线程,并且每个线程都有其内存上下文。这意味着每个线程都有其自己的done和resp变量,并且没有两个线程可以共享resp变量。这意味着如果我有1,2,... n个不同的线程,并假设每个线程都在生成1,2,.... n个响应。

现在我的问题是,程序线程是否有可能进入竞争状态,并彼此交换响应消息。

内森·休斯(Nathan Hughes)

你近了 Servlet容器使用线程池,它为每个请求从池中分配一个线程,并在响应完成后将线程返回到池中。您不必担心线程会混杂在一起,servlet容器正在为您管理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多线程如何在Web环境中工作

来自分类Dev

如何在多线程环境中更好地使用ExecutorService?

来自分类Dev

如何在Java多线程环境中复制ArrayList <T>?

来自分类Dev

c-如何在多线程环境中处理SIGPIPE?

来自分类Dev

多线程程序如何在C中工作?

来自分类Dev

(Java多线程)如何在多线程中传递参数?

来自分类Dev

多线程如何工作

来自分类Dev

MQ C API-如何在多线程环境中中止正在等待的`MQGET`

来自分类Dev

在多线程环境中如何在服务堆栈中正确使用Redis?

来自分类Dev

OBJ-C如何在多线程环境中为C ++单身添加锁?

来自分类Dev

如何在多线程环境中搜索特定的字符串表单列表。?

来自分类Dev

如何在多线程环境中正确使用EasyNetQ

来自分类Dev

如何在多线程环境中使用Servlet

来自分类Dev

如何在多线程环境中使用序列

来自分类Dev

如何在iOS中执行多线程?

来自分类Dev

如何在Python中实现多线程?

来自分类Dev

如何在Perl中开始多线程

来自分类Dev

scanf(),std :: cin在多线程环境中的行为如何?

来自分类Dev

多线程应用程序如何在多处理器系统中工作

来自分类Dev

多线程如何在单核系统上工作?

来自分类Dev

多线程:如何在不同的线程中运行不同的功能?

来自分类Dev

如何在多线程应用程序中存储线程

来自分类Dev

如何在多线程环境中使构建器模式线程安全?

来自分类Dev

JavaScript中的多线程或异步代码如何工作?

来自分类Dev

多线程环境中的基准测试

来自分类Dev

在多线程环境中交换变量

来自分类Dev

在多线程环境中捕获信号

来自分类Dev

Jain SIP在多线程环境中

来自分类Dev

Python中的同步-Gevent多线程环境

Related 相关文章

热门标签

归档