阅读背景:

向服务器程序高手请教SocketServer的多线程问题。

来源:互联网 
我用TsocketServer做了一个socket服务程序,采用的是线程阻塞模式,这个程序的功能是接收客户端的socket信息,然后根据信息进行相应的处理,把处理结果返回给客户端。客户端少的情况下一切正常。为了测试这个服务器程序的性能,又做了一个测试程序,同时起几十个客户端,然后每个客户端不停的向服务器发送socket信息请求处理,这时问题就出来了,服务器程序中有些线程响应很快,但有个别线程响应的时间非常慢,客户端过很长时间才能收到服务器的处理结果,甚至根本收不到。如果逐渐手工结束一些客户端,减少到一定的程度,原先没有响应的客户端就能收到返回结果了。给我的感觉是当有客户端连接时服务器中分配一个线程的优先级不一样,那些响应慢的线程得不到足够的cpu时间,导致处理信息非常慢。但事实上服务器端起的每个线程优先级都一样(normal)。恳求各位大哥指点,该怎么样解决这个问题,我的程序要求时同时起几十个客户端然后不停的发信息给服务器,每一个客户端都能收到返回结果。收到结果的间隔时间肯定和客户端的连接数有关,间隔时间稍微长点没关系,但主要时确保每个客户端都能收到处理结果。 我用TsocketServer做了一个socket服务程序,采用的是线程阻塞模式,这个程序的功



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: