求教,客户端连接服务端时,是为每个客户端都保留一个线程好还是每次有请求时开一个再释放比较好。
表达能力不是太好请多包涵
一种情况是: 客户端第一次登录之后服务器就为这个客户端开一个线程,一直到客户端退出才释放线程。
另一种是: 每次客户端访问服务器的时候服务器创建一个线程, 结束之后马上释放。
请问这两种有什么优缺点, 适用的情况有什么不同吗?
[解决办法]
一种情况是: 客户端第一次登录之后服务器就为这个客户端开一个线程,一直到客户端退出才释放线程。---长连接,即使没有数据交互服务器也要维护这个连接, 使用场景:客户端与服务器的交互比较频繁, 优点:避免了频繁的建立和关闭连接
另一种是: 每次客户端访问服务器的时候服务器创建一个线程, 结束之后马上释放。
---短连接, 完成相应的请求任务立马断开连接,使用场景, 客户端与服务器交互简短且不频繁, 优点, 降低服务器的开销