c#用 tcpListener和udpClient Cpu占用率高

这里用了两个udpClient 一个TcpListener 三个监听线程
一个线程用来监听udp发来的数据并把数据放入队列
另一个线程检查队列是否有数据 有数据则将之用tcpClient发出去
第三个线程监听指定tcp端口的客户端发送来的数据并做相应处理
TcpListener tcpServerDataListener;
Thread ClientCommandListenerThread;
Thread thLisener;
Thread tMsgQueue;
UdpClient LisenerUdp;

thLisener = new Thread(new ThreadStart(Lisener)); thLisener.Start();
tMsgQueue = new Thread(new ThreadStart(GetReciveData));
tMsgQueue.Start();

ClientSender.StartListener(ServerForm, ServerPort);

tcpServerDataListener = new TcpListener(IPAddress.Any, ListenerPort);
tcpServerDataListener.Start();
ClientCommandListenerThread = new Thread(new ThreadStart(ReciveClientCommandData));
ClientCommandListenerThread.Start();
如图……………………

第1个回答  2013-04-14
愿我的答案 能够解决您的烦忧
1,CPU是根据您电脑配置的来的 35%不算高
2,可能是您的后台启动项和IE缓存过多导致的。
3,建议您使用腾讯电脑管家----电脑加速---启动项禁止--清理电脑垃圾---重启后再看
如果您对我的答案不满意,可以继续追问或者提出宝贵意见,谢谢
相似回答