社区
C#
帖子详情
C#多线程问题(求救)
Dong
2008-12-06 01:40:22
大家好.
我用C#开发了一个多线程程序,但这个多线程在Debug编译下可以并发出来,可是在Release下却不可以.是不是在Release模式下编译一些代码被编译器"优化"了? 我该怎么做才可以在Release模式下并发出多线程工作?
还有一个大问题.为什么我的多线程在Debug模式下开了大概20个线程CPU就被100%使用了(电脑4是个CPU的,功能很强大的)?C#对多线程的并发数是怎么控制的?
...全文
339
23
打赏
收藏
C#多线程问题(求救)
大家好. 我用C#开发了一个多线程程序,但这个多线程在Debug编译下可以并发出来,可是在Release下却不可以.是不是在Release模式下编译一些代码被编译器"优化"了? 我该怎么做才可以在Release模式下并发出多线程工作? 还有一个大问题.为什么我的多线程在Debug模式下开了大概20个线程CPU就被100%使用了(电脑4是个CPU的,功能很强大的)?C#对多线程的并发数是怎么控制的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ws_hgo
2008-12-27
打赏
举报
回复
点击结贴
然后给分
一游
2008-12-27
打赏
举报
回复
看你问题是想用多线程来接收SOCKET数据吧,我前段时间做过这方面的东西,可能具体说说你的问题或者说流程
我感觉是你的流程出了问题,我的程序也是8个客户端,1周不关,程序占CPU30左右
Dong
2008-12-27
打赏
举报
回复
还有个问题,怎么结帖? 点给分框都没反应的,而且有个专家排列的网页不停的在动来动去的,这些并不是我们需要的啊.
说实话,都2年没来这里了,因为觉得网站越来越差了,搞了很多没必要的东西.
特别有一段时间,连那里进入论坛都不知道,那个流程简直.......
其实我觉得技术论坛不要搞到太商业化,现在广告一堆又一堆.
Dong
2008-12-27
打赏
举报
回复
总技术分排名:678
--------------
我很惊讶这个排名问出的问题。
-----------------------------------------
技术和编程能力不是100%挂钩的,问题低级我也敢问出来,这就是我的能力了.
half_bucket
2008-12-08
打赏
举报
回复
mark
yagebu1983
2008-12-08
打赏
举报
回复
线程池!!
也得用信号量!!
much0726
2008-12-08
打赏
举报
回复
总技术分排名:678
--------------
我很惊讶这个排名问出的问题。
jfd198512
2008-12-08
打赏
举报
回复
学习! 我是新手只能先看看大家的思想! 呵呵
Dong
2008-12-08
打赏
举报
回复
哎.谢谢大家了.
我的线程都是在等待网络的返回数据.有办法让在等待的Socket出来,
必要时再接收吗?记得是几是个Socket一起工作的.
xiaozhimin1978
2008-12-07
打赏
举报
回复
[Quote=引用 6 楼 hornbills 的回复:]
关于CPU利用率,线程的占用跟CPU的线程是对应的
如果是4枚处理器,处理器是单核的,4个满负荷的单线程应用令CPU占用达到100%
如果是4枚处理器,处理器是双核的,8个满负荷的单线程应用令CPU占用达到100%
如果是2枚处理器,处理器是四核的,8个满负荷的单线程应用令CPU占用达到100%
单线程应用可以用MS的计算器来模拟,运算一个大数的阶乘即可
[/Quote]
支持
一个线程只要没有等待状态,基本上会让一个核的使用率占光,关键问题不在线程多少,而在线程有没有休息。
flyjimi
2008-12-06
打赏
举报
回复
[Quote=引用楼主 UPCC 的帖子:]
大家好.
我用C#开发了一个多线程程序,但这个多线程在Debug编译下可以并发出来,可是在Release下却不可以.是不是在Release模式下编译一些代码被编译器"优化"了? 我该怎么做才可以在Release模式下并发出多线程工作?
还有一个大问题.为什么我的多线程在Debug模式下开了大概20个线程CPU就被100%使用了(电脑4是个CPU的,功能很强大的)?C#对多线程的并发数是怎么控制的?
[/Quote]
线程执行过程中,适当加上sleep,可以降低CPU占用。
jiang_jiajia10
2008-12-06
打赏
举报
回复
线程池
GTX280
2008-12-06
打赏
举报
回复
在代码中加上[MTAThread]
deserveit
2008-12-06
打赏
举报
回复
建议使用线程池
lihuyin
2008-12-06
打赏
举报
回复
mark
tinghai_xu
2008-12-06
打赏
举报
回复
贴出代码吧
hornbills
2008-12-06
打赏
举报
回复
如果是4枚处理器,处理器是六核的,而且支持超线程,48个满负荷的单线程应用令CPU占用达到100%
hornbills
2008-12-06
打赏
举报
回复
关于CPU利用率,线程的占用跟CPU的线程是对应的
如果是4枚处理器,处理器是单核的,4个满负荷的单线程应用令CPU占用达到100%
如果是4枚处理器,处理器是双核的,8个满负荷的单线程应用令CPU占用达到100%
如果是2枚处理器,处理器是四核的,8个满负荷的单线程应用令CPU占用达到100%
单线程应用可以用MS的计算器来模拟,运算一个大数的阶乘即可
liningln0
2008-12-06
打赏
举报
回复
[Quote=引用 2 楼 gomoku 的回复:]
...是不是在Release模式下编译一些代码被编译器"优化"了?
虽然有优化,但因该不会影响多线程。可能要有代码才能分析。
...C#对多线程的并发数是怎么控制的
CLR的线程池倒是有个最大线程数的限制,不过如果你用new Thread()而不用线程池倒没有什么限制。
C# code...为什么我的多线程在Debug模式下开了大概20个线程CPU就被100%使用了
如果你的线程是计算密集型的,4个线程就可以让4核的CPU满负荷了。
如果你的…
[/Quote]
还有,线程的多少不是问题。关键是线程的处理上,我以前做过一个项目,高峰的时候有进30个线程,不过处理数据的只有3个,其他都是显示或者数据库操作。
所以主要是数据计算上的同时运行线程不能太多。。
zzuyongp
2008-12-06
打赏
举报
回复
建议线程池 4核最好别并发超过10个线程
加载更多回复(3)
编程资料 -
C#
多线程
编程资料 -
多线程
C#
多线程
编程实例实战作者: 刘弹 www.ASPCool.com 时间:2003-5-17 上午 10:24:05 阅读次数:10996单个写入程序/多个阅读程序在.Net 类库中其实已经提供了实现,即System.Threading....
c#
socket编程技术文章汇总
.NET 3.5 Socket APM
C#
用socket传输类或结构,以及结构和bytes[]互转 ...一个简易的Socket组件,希望与牛人菜鸟们分享交流 ...
C#
HttpWebRequest可断点上传,下载文件;SOCKET
多线程
多管道可断点传送大文
C#
禁用进程内的按键 wpf
或者是占用资源太多导致系统失去响应?这些信息要提供出来才能进一步分析。1.如果是直接退出,那么有可能是在主线程以外的线程中发生异常没有处理引起的。在所有的线程的第一个函数入口加上try catch,可以
如何三个月从零基础到
C#
中级程序员
第一阶段,参考《
C#
入门经典》前九章,拉拉控件。熟悉基本概念,代码要纯粹手打和总结。做个基本的只有一个表格的数据库,也是拉几个控件的事情,这期间得研究下载一个小型数据库系统,数据库系统无非是权限管理加...
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章