最近写了一个COM与TCP,TCP与COM的通讯程序,是用多线程来处理的通讯过程:COM收到数据后转发给TCP,TCP再转发出去;或TCP收到数据转发给COM,COM再转发出去程序一开始运行时,收发数据都没有问题,但运行几天后,发现CPU的使用率占用的越来越多,
而且时间越久占用的就越多,检查了程序,各个循环或可能耗时的地方也都Sleep(1)了,对COM缓存也进行了清空处理,
不知道是什么原因?
望各位高手指点一二,解决马上给分结贴,在线等……
先谢谢了……
而且时间越久占用的就越多,检查了程序,各个循环或可能耗时的地方也都Sleep(1)了,对COM缓存也进行了清空处理,
不知道是什么原因?
望各位高手指点一二,解决马上给分结贴,在线等……
先谢谢了……
2、使用GC.Collect(),对不得已临时分配空间强制释放。
3、实现IDispose接口,显示调用Dispose接口,加速托管资源释放。
4、重写Object.Finalize 方法,理非托管资源。
2、使用GC.Collect(),对不得已临时分配空间强制释放。
3、实现IDispose接口,显示调用Dispose接口,加速托管资源释放。
4、重写Object.Finalize 方法,理非托管资源。
多线程同步操作 可以考虑用信号量 方式 阻塞线程