我们如何判断远程服务器是否是多线程的?

时间:2011-01-25 09:50:05

标签: c++ multithreading network-programming unix

我的客户没有向我提供有关其应用性质的详细信息。它可能 多线程它可能不是。他的服务器提供SOAP消息(http请求)

是否有任何特殊技巧可以理解对等体是单线程还是多线程?

我不想问客户,我也无法访问他的服务器/机器。我想自己找到它。

3 个答案:

答案 0 :(得分:4)

这无关紧要。为什么你觉得这对你很重要?

更有用的问题是:

  

服务器可以接受多个   同步会议?

答案可能是“是,当然”,但实际上可以实现无法支持多个会话的服务器。

仅仅因为服务器支持多个会话,并不意味着它是多线程的。并且,仅仅因为它的多线程并不意味着它将具有良好的性能。当服务器需要支持数百或数千个会话时,多线程可能是一个非常糟糕的性能选择。

您是否在问这个问题,因为您希望在同一连接上“重叠”SOAP消息 - 换句话说,有三个线程发送请求,然后所有三个线程都在等待响应?这不起作用,因为(如HTTP)请求和响应消息在每个连接上配对在一起。您需要打开三个连接才能有三条重叠的消息。

答案 1 :(得分:0)

不幸的是,不,至少没有直接访问计算机。多个连接甚至可以由单个线程管理,但好消息是这种可能性极小。大多数服务器使用线程池并在握手时为连接分配线程。有什么特别的原因需要你知道吗?如果您可能会在此服务器上工作,您将直接了解它的工作原理。

答案 2 :(得分:0)

服务器是否为多线程并不重要。有很好的有效方法可以实现没有线程的I / O多路复用[如select(2)等),如果这让你担心的话。