社区
进程/线程/DLL
帖子详情
请教高手:线程问题!!!!!!
cnscc
2002-07-18 08:37:14
多线程程序中,一般启动多少个线程之后,由于线程切换等原因可能会影响到系统的性能,使系统的性能反而下降。
同时运行100个线程会使系统性能反而下降吗?为什么?
...全文
20
11
打赏
收藏
请教高手:线程问题!!!!!!
多线程程序中,一般启动多少个线程之后,由于线程切换等原因可能会影响到系统的性能,使系统的性能反而下降。 同时运行100个线程会使系统性能反而下降吗?为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Thalses
2002-07-19
打赏
举报
回复
我也曾经做过串口通讯软件,当时做的是Windows32API通讯函数的打包工作。把输入输出分为两个线程,当数据量在14400左右时,输入线程的工作压力很小,大部分时间是被阻塞的。不太理解为什么会有那么多输入线程,不过一百个对于CPU来说绝对不多,但对于串口重叠读写来说可能就有问题了。
cnscc
2002-07-19
打赏
举报
回复
???
cnscc
2002-07-19
打赏
举报
回复
关键事发送要对32个口分别做流量控制和负载平衡,对不同口来的数据要分别处理,所以线程开的多。如楼上anhb(安安) 所言,是否要对每一个消息启动一个线程,发送完毕后结束,因为对一个口发送要做流量控制,即发送一些数据后可能要等待一段时间,但其他口可能有数据要发送,因此要启动不同的线程
anhb
2002-07-19
打赏
举报
回复
你可以在处理前启动固定个数的THREAD(可配置),在这些线程中等待消息,收到请求后处理发送,这样就不会丢失数据(消息队列异步功能),又能保证速度;主线程中按一定规则向上面的这些TRHEADS分发消息。或动态调节THREAD数量(按需启动/终止)。
jfzsl
2002-07-19
打赏
举报
回复
gz
tingyu007
2002-07-18
打赏
举报
回复
建议参考一下COM编程指南中的线程一章
ufox
2002-07-18
打赏
举报
回复
我仔细考虑过用信号WaitForMultipleObjects(...),但会出现问题,如下面文章所提到的问题:http://www.csdn.net/expert/topic/684/684823.xml?temp=.550976。
如果第一个信号源源不断的来,则后面的所有都不能处理了,所以只好考虑针对每个串口分别开一个读写线程
e2wugui
2002-07-18
打赏
举报
回复
线程多了肯定要占用资源,但是切换就要看工作忙不忙了。
如果多数时候都在睡觉,就是就绪状态的很少,那么并没有多少切换的开销。
另外,如果线程做的事情很简单(时间少花得很少),在忙的时候,切换过多就不好了。
串口读写应该不会很忙吧!毕竟是慢速io处理。
如果线程可以较少很多麻烦而不是增加的话,可以考虑使用,不用客气。
Semigod
2002-07-18
打赏
举报
回复
如果你的线程中往往有很多时间是在等待的话,就不多,否则,就得看你的机器性能了。对于现在的机器,100个不算太多。毕竟线程切换很快的
cnscc
2002-07-18
打赏
举报
回复
线程中执行串口读写操作,我要作的是32口的串口读写并作一定处理,老兄有什么其他好的办法吗?对每一个串口收到的数据要分别由一个线程处理,对要发送的数据用一个线程也不好解决,所以只有想到再用32个线程了。再加上其他的,供给70个左右,可能太多了吧??
Crob
2002-07-18
打赏
举报
回复
要根据你线程中执行的内容来看了
asp.net知识库
帮助解决网页和JS文件中的中文编码
问题
的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...
oracle多
线程
删除,
请教
高手
:多
线程
访问时如何实现删除一个文件?
如下要求:当某一
线程
欲删除一个文件时,如果另外一些
线程
正在访问该文件。那么这些
线程
仍然可以对该文件进行操作。直到所有这些
线程
关闭了这个文件。该文件才被删除。也就是说,只要有一个
线程
还打开着这个文件,该...
请教
高手
:如何利用Delphi实现多
线程
圆周率的计算
我是一名刚接触Dephi的初学者,也是刚学习操作系统,我想
请教
各位
高手
: 如何利用Delphi实现多
线程
圆周率的计算, 编写Delphi窗口程序实现圆周率的计算:当在窗口界面上输入精确位数时(如5000),然后点击"start",则窗口...
linux内核守护
线程
,
请教
高手
:ps命令中如何区分内核守护
线程
和用户进程?
内核守护
线程
的显示加了中括号[],请问是如何做到的?|看父进程号也可以,下面是ps输出,你注意看内核
线程
的PPID?$ps-eo"%p%P%c"PIDPPIDCOMMAND10init21migration/031ksoftirqd/041migration/151ksoftirqd/161...
请教
高手
,
线程
问题
,怎样暂停或杀掉多
线程
比如在主类中有2个
线程
, thread1 a = new thread1();//做动画1 thread2 b = new thread2();//做动画2 a.start(); b.start();
问题
是:点击按钮怎样使
线程
暂停或杀掉,且杀掉
线程
时,画图清空? 热烈...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章