社区
C#
帖子详情
C#多线程内存占用的问题如何解决?
mcdjxiao
2009-12-20 01:57:32
我现在的程序由于是网络通讯需要监听 我现在 用的线程阻塞来监听 上线请求信息 以及下线 以及命令 开了3个线程
不是木马哈 。。。 也就是一个WHILE循环一直监听 内存占用局大 有什么好的解决方案没?
...全文
777
18
打赏
收藏
C#多线程内存占用的问题如何解决?
我现在的程序由于是网络通讯需要监听 我现在 用的线程阻塞来监听 上线请求信息 以及下线 以及命令 开了3个线程 不是木马哈 。。。 也就是一个WHILE循环一直监听 内存占用局大 有什么好的解决方案没?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cyq627520
2010-12-29
打赏
举报
回复
都是什么回答啊
ziyan688999
2010-05-06
打赏
举报
回复
OYHGOD
Thr21ough
2009-12-20
打赏
举报
回复
up~
龙宜坡
2009-12-20
打赏
举报
回复
[Quote=引用 14 楼 wartim 的回复:]
不知道你代码怎么写的,所以不好说
[/Quote]
是的!
关键代码贴出来瞅瞅!
wartim
2009-12-20
打赏
举报
回复
不知道你代码怎么写的,所以不好说
gbb21
2009-12-20
打赏
举报
回复
[Quote=引用 10 楼 zjh333 的回复:]
NET的性能一直是个问题, 你的对象占用的内存是不可控的,要想自已控制内存用Vc++或Delphi
[/Quote]
这个正是为了性能所以才预分配了内存好吧,你要喜欢可以把workspace的空间缩小。
icbc_ljt
2009-12-20
打赏
举报
回复
GC收集不行吗
ytc666
2009-12-20
打赏
举报
回复
适当sleep
zjh333
2009-12-20
打赏
举报
回复
NET的性能一直是个问题, 你的对象占用的内存是不可控的,要想自已控制内存用Vc++或Delphi
happyer_longlong
2009-12-20
打赏
举报
回复
采用 事件来编程,不用你循环去监听
wenbin
2009-12-20
打赏
举报
回复
若是你的数据比较大,另当别论,
单从线程开启来说,不会占用那么多内存,开启线程默认的堆大小是不大的。
可能是你程序中处理数据的时候,有内存没有释放。
xiaoyuchen3v
2009-12-20
打赏
举报
回复
学习了……
mcdjxiao
2009-12-20
打赏
举报
回复
[Quote=引用 3 楼 goga21cn 的回复:]
引用楼主 mcdjxiao 的回复:
我现在的程序由于是网络通讯需要监听 我现在 用的线程阻塞来监听 上线请求信息 以及下线 以及命令 开了3个线程
不是木马哈 。。。 也就是一个WHILE循环一直监听 内存占用局大 有什么好的解决方案没?
是CPU占用率大还是内存占用率大?
CPU ,每次循环完Sleep一段时间。
内存,及时释放掉,但内存也不会即时释放掉的。
[/Quote]
是内存 大 运行就100多M
mcdjxiao
2009-12-20
打赏
举报
回复
有没有更好的通讯办法?
meadking
2009-12-20
打赏
举报
回复
这个问题....
只能sleep了哦...
龙宜坡
2009-12-20
打赏
举报
回复
[Quote=引用楼主 mcdjxiao 的回复:]
我现在的程序由于是网络通讯需要监听 我现在 用的线程阻塞来监听 上线请求信息 以及下线 以及命令 开了3个线程
不是木马哈 。。。 也就是一个WHILE循环一直监听 内存占用局大 有什么好的解决方案没?
[/Quote]
是CPU占用率大还是内存占用率大?
CPU ,每次循环完Sleep一段时间。
内存,及时释放掉,但内存也不会即时释放掉的。
semify
2009-12-20
打赏
举报
回复
如果不是对性能要求非常高的话,可以每次while完sleep一下,比如sleep一秒,效果很明显。。。从前我这么干过
mcdjxiao
2009-12-20
打赏
举报
回复
自己定 等人回答
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章