当前位置: 代码迷 >> VB Dotnet >> 怎么让特定线程执行的速度比别的线程更快
  详细解决方案

怎么让特定线程执行的速度比别的线程更快

热度:38   发布时间:2016-04-25 02:10:30.0
如何让特定线程执行的速度比别的线程更快
大家好 小弟最近碰到这个问题 就是有一个线程 它的作用是用来即时性的读取韧体的一个变数

小弟目前针对这个应用是这样写的 就是先开一个线程 然后用无限回圈不断地去读取

但是似乎读取速度还不够快啊 会产生一些延迟  比如说我想在  这个变数从0 跑到 10 

我想在5的时后 就触发一个事件出去  但它总是延迟到 5.2 , 5.3 , 甚至有到6的 大概会有这种状况

基本上我希望这个延迟时间是0  在跟同事讨论这个问题时 有想到是否能够让这个线程只单纯开给CPU其中一个core去使用

或是有其他的做法??

请各位大大 协助我解决这个问题 感激 
------解决思路----------------------
我们的操作系统都是分时复用操作系统,并非实时操作系统,对于软件,实际上是一个CPU的概念,你无法强制让一个核只做你的事情,如果想利用多线程,可以用并行的方式。参考:
百度搜索:vb.net 并行
使用.NET进行并行编程
C# 4.0 并行计算部分
------解决思路----------------------
想要分秒不差,你不应该使用高级的操作系统,你应该使用“无操作系统”的开发方式,使用c或者汇编语言直接编程、然后把程序直接烧到你的设备芯片上。想当于你自己写一个操作系统,虽然只有windows的万分之一代码量、千万分之一的逻辑含量,但是你可以自己控制“准时”,你也不用对windows桌面系统的定时器的“准确性”抱有幻想。
------解决思路----------------------
让core"专注"做某事,提高优先级和将线程关联给特定的Core避免切换处理器的开销的确可以提高性能,但是提高得非常有限。你应该另外想办法。
  相关解决方案