gpt4 book ai didi

multithreading - 多线程客户端-服务器 Web 服务 - 使服务器端数据线程安全

转载 作者:可可西里 更新时间:2023-11-01 02:43:13 26 4
gpt4 key购买 nike

我正在实现一个多线程网络服务。每个传入请求都会生成一个线程。对于每个客户端,都会创建一个 session ,每个 session 都包含一个数据部分——比如一个 DOM 树。客户端请求基本上是获取/设置方法,服务器将读取/写入 DOM。

所以 DOM 数据是每个客户端的。

现在我的问题是,服务器是否应该将这个 DOM 树视为临界区?

基本上,问题是会不会出现服务器有两个线程为同一个客户端服务的情况?

请求/响应是基于 tcp 的 SOAP。据我了解,即使客户端是多线程的,tcp 客户端也不能同时发送请求。所以在服务器端,我不会出现两个线程是同一个客户端的情况。如果我错了请纠正我,我是 tcp/ip 客户端-服务器编程的新手。

谢谢。

最佳答案

As per my understanding, a tcp client cannot send simultaneous requests even if the client is multithreaded.

??这是从哪里来的?

在当然基于 TCP 的 HTTP 中,并发客户端请求是可以预期的。 RFC2616 说 HTTP 客户端(浏览器、REST 客户端等)应该将对特定服务器的并发出站请求数限制为 2。但这不是协议(protocol)的严格要求,本指南有时在某些体系结构中故意不遵循。

我提出这个只是为了说明 TCP 本身支持客户端的多个并发出站请求。在一般情况下,一个 TCP 客户端可以打开许多并发的出站请求。

您使用的特定通信框架可能不支持客户端的多个并发出站请求。但那是另一回事。

关于multithreading - 多线程客户端-服务器 Web 服务 - 使服务器端数据线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/655649/

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