如何在VC中使得一段代码不被中断的执行完

broadoceans 2004-07-06 08:57:04
我想在vc中一次执行少量的代码,由于一些特殊的原因不能被中断,
怎么才能做到这一点呢?
由于windows在用户模式下不可以执行关中断的特权指令,所以无法通过关中断来实现。
...全文
631 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
broadoceans 2004-10-11
  • 打赏
  • 举报
回复
看来实现起来有问题了。
结帖吧。
broadoceans 2004-10-11
  • 打赏
  • 举报
回复
看来实现起来有问题了。
结帖吧。
broadoceans 2004-09-23
  • 打赏
  • 举报
回复
最近看了在用户态执行特权指令的文章,没怎么弄清楚,不知有哪位高人能给个例子
broadoceans 2004-08-29
  • 打赏
  • 举报
回复
再次up一下
broadoceans 2004-07-29
  • 打赏
  • 举报
回复
再次up一下
snowx 2004-07-29
  • 打赏
  • 举报
回复
其实解决问题很多途径
可不可以回头看看问题,是否还有其它的解决途径?
在一个支持多线程/时间片轮转的操作系统里,
控制cpu为你的进程独享,这本来就是个矛盾的问题
那解决途径就成为:你只能跳过操作系统的调度,自己去控制

broadoceans 2004-07-29
  • 打赏
  • 举报
回复
还有,本来要执行的代码很少,却要进行2次内核模式与用户模式的切换,很费cpu时间的,
我觉得不太合算,但也没有什么好办法。


其实我想这么做的目的很简单,就是有一个队列,一个实时线程从队首读元素,读完后删除,
但是这个线程不可以被阻止执行(即不可以通过临界区来同步,因为临界区的原理是被别人占用时阻止进入)。另外的线程从队尾增加数据。增加只需要很少的代码,但是有可能在增加过程中被实时线程中断,而产生问题。提高其它线程在增加数据时的级别也没有用,因为实时线程是硬件中断,所以想把增加元素的代码一次执行完,让实时线程稍微等这一点时间是没有什么问题的。但利用同步就会出现问题。
broadoceans 2004-07-29
  • 打赏
  • 举报
回复
写驱动参数传递比较复杂,我没写过,哪为仁兄帮个忙?
hdqqq 2004-07-29
  • 打赏
  • 举报
回复
自己写个驱动级的程序就可以了。
broadoceans 2004-07-22
  • 打赏
  • 举报
回复
有没有精通window内核的高手解答一下?
名牌大灰狼 2004-07-15
  • 打赏
  • 举报
回复
这问题好难.在说软件都不是咱们写的.没办让操作系统呀.编程器按我们的思想做事.同意上楼的N次发言
RockHwnd 2004-07-15
  • 打赏
  • 举报
回复
复杂的,好像在盖茨的世界里不允许老大这么做
nlstone 2004-07-15
  • 打赏
  • 举报
回复
可惜不是LINUX,没有原语给我们用:(
有难度,你不妨发个消息给Mr袁峰咨询一下:)
broadoceans 2004-07-15
  • 打赏
  • 举报
回复
怎么没有人回答呀?
broadoceans 2004-07-14
  • 打赏
  • 举报
回复
再次up一下
broadoceans 2004-07-07
  • 打赏
  • 举报
回复
自己up一下
ljn2 2004-07-07
  • 打赏
  • 举报
回复
把线程设成实时
elssann 2004-07-07
  • 打赏
  • 举报
回复
把CPU砸了照样不行 *_~
elssann 2004-07-07
  • 打赏
  • 举报
回复
关掉中断是很危险的。。。
会思考的草 2004-07-07
  • 打赏
  • 举报
回复
os理论中确实有原语一说,不过到现在没有碰见过。
硬件中断优先级最大,写驱动又怎样?我强行把电源拔了你不照样不行。
加载更多回复(17)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧