多线程间切换周期,该怎么处理
多线程间切换周期
硬件平台: Win7 系统 I5处理器 4G内存
软件平台: VS2010 C# 桌面应用程序
A: 最近做一项目,对实时性要求有点高。在项目应用程序中,开了6个线程,但总感觉线程间切换的实时性偏低。
B:有把线程及进程的优先等级调高一个级别,但效果不明显。
现求助各位: 1: 怎样提高线程的实时性,缩短“时间片”?
2: 正常情况下线程间切换周期大概多长时间?
3: 相关资料介绍?
谢谢。
------解决方案--------------------
回答你后一个问题:“正常情况下线程间切换周期大概多长时间?”
这又无数的资料。在很多年以前,windows的桌面系统默认地“抢先式线程调度”机制,每隔几十毫秒(不超过50毫秒)就切换一次线程。现在的windows系统只可能缩短,应该不会延长。
你的问题应该是程序设计问题,不是线程切换周期长短的问题。
------解决方案--------------------
“线程间切换的实时性”这个概念不对头。
现在都有4个CPU了,理论上多个线程是可以并发运行的。
你要先查是哪个线程响应速度不够
------解决方案--------------------
在现在使用的Windows系统来说,你可以认为操作系统切换线程的时间 片是:15MS
但是记住,Windows本身是一个抢占式的操作系统.
------解决方案--------------------
抓取图像 分析图像 写入分析结果各一个线程
你这几个线程间有执行顺序依赖关系,需要线程同步
所以多线程根本没意义.
------解决方案--------------------
只能回答第三个问题:《CLR via C#》
------解决方案--------------------
你是不是想抓图的数据读入的同时进行分析扫描,分析扫描同步写入分析
------解决方案--------------------
这个东西得看你的程序了逻辑:
http://www.cnblogs.com/c6000/archive/2012/10/11/2720611.html
这个可以 帮你优化线程
------解决方案--------------------
线程多并不代表执行速度快,效率高。
主要还是看你的设计和业务
硬件平台: Win7 系统 I5处理器 4G内存
软件平台: VS2010 C# 桌面应用程序
A: 最近做一项目,对实时性要求有点高。在项目应用程序中,开了6个线程,但总感觉线程间切换的实时性偏低。
B:有把线程及进程的优先等级调高一个级别,但效果不明显。
现求助各位: 1: 怎样提高线程的实时性,缩短“时间片”?
2: 正常情况下线程间切换周期大概多长时间?
3: 相关资料介绍?
谢谢。
------解决方案--------------------
回答你后一个问题:“正常情况下线程间切换周期大概多长时间?”
这又无数的资料。在很多年以前,windows的桌面系统默认地“抢先式线程调度”机制,每隔几十毫秒(不超过50毫秒)就切换一次线程。现在的windows系统只可能缩短,应该不会延长。
你的问题应该是程序设计问题,不是线程切换周期长短的问题。
------解决方案--------------------
“线程间切换的实时性”这个概念不对头。
现在都有4个CPU了,理论上多个线程是可以并发运行的。
你要先查是哪个线程响应速度不够
------解决方案--------------------
在现在使用的Windows系统来说,你可以认为操作系统切换线程的时间 片是:15MS
但是记住,Windows本身是一个抢占式的操作系统.
------解决方案--------------------
抓取图像 分析图像 写入分析结果各一个线程
你这几个线程间有执行顺序依赖关系,需要线程同步
所以多线程根本没意义.
------解决方案--------------------
只能回答第三个问题:《CLR via C#》
------解决方案--------------------
你是不是想抓图的数据读入的同时进行分析扫描,分析扫描同步写入分析
------解决方案--------------------
这个东西得看你的程序了逻辑:
http://www.cnblogs.com/c6000/archive/2012/10/11/2720611.html
这个可以 帮你优化线程
------解决方案--------------------
线程多并不代表执行速度快,效率高。
主要还是看你的设计和业务