多线程问题,欢迎讨论,up有分(100分,就100分)
正在做一个通信系统的服务器软件,采用多线程结构。
程序大概介绍如下:
主线程用来接收客户端的连接,每收到一个连接,就创建一个线程
负责接收客户端发来的消息,并存入一个队列中,然后由一个线程负责处理队列中的客户请求,将结果按消息类型不同分类放到相应的vector空间;同时系统还有还有多个线程负责将不同的vector中的消息发送到相应的客户端(都是死循环,有数据就处理,无数据是暂停线程)。
程序运行是一开始还很正常,但是过一段时间后却发现cup占用达100%,消息处理很慢很慢。
我怀疑跟线程中的死循环有关系,我的程序该如何改进呢?
欢迎个位高手提出宝贵的意见和建议,不胜感激,谢谢先!!!