Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 像用SpringWebFlux开发的那些反应式web应用程序是如何工作的?_Java_Multithreading_Sockets_Reactive Programming_Spring Webflux - Fatal编程技术网

Java 像用SpringWebFlux开发的那些反应式web应用程序是如何工作的?

Java 像用SpringWebFlux开发的那些反应式web应用程序是如何工作的?,java,multithreading,sockets,reactive-programming,spring-webflux,Java,Multithreading,Sockets,Reactive Programming,Spring Webflux,在服务器阻塞的普通web应用程序中,我们可以看到下面的工作流 当客户端向服务器发出http请求时,将创建一个客户端线程 使用(clientp、clientport、serverip、serverport、tcp)创建套接字连接 将创建一个服务器线程,该线程将赶上上述套接字 上面创建的服务器线程或其子线程处理请求并返回到已建立套接字上的客户端,服务器线程终止 客户端接收响应,客户端线程终止 如果在关闭/空闲时间段(可能约为1分钟,请更正)之前到达,则已建立的套接字连接可以服务于另一个请求 在被动w

在服务器阻塞的普通web应用程序中,我们可以看到下面的工作流

  • 当客户端向服务器发出http请求时,将创建一个客户端线程
  • 使用(clientp、clientport、serverip、serverport、tcp)创建套接字连接
  • 将创建一个服务器线程,该线程将赶上上述套接字
  • 上面创建的服务器线程或其子线程处理请求并返回到已建立套接字上的客户端,服务器线程终止
  • 客户端接收响应,客户端线程终止
  • 如果在关闭/空闲时间段(可能约为1分钟,请更正)之前到达,则已建立的套接字连接可以服务于另一个请求
  • 在被动web应用程序中,服务器是非阻塞的-这意味着什么?服务器线程立即返回

    如果这是一个反应式web服务器,那么处理请求的线程 将立即自由处理其他请求,并作为数据 从数据库中显示–它将被发送到客户端 自动地

    在上述步骤中这意味着什么-
    据我所知,服务器线程(步骤3)从client-1请求-1中释放出来,并准备处理另一个请求

    这意味着服务器线程将处理来自同一客户端(pc)或不同客户端的另一个请求2

    Q1),但请求处理仍应移交给其他子线程(CT1)。对吗??


    Q2)如果子线程的处理时间长于tcp超时时间-服务器是否确保套接字连接以某种方式保持,直到CT1完成其处理。

    您是否阅读了反应性文档