怎么监视一个变量是否变化

luofushan 2014-01-26 03:29:06
比如

int i = 1;
if (i != 1 ) return ;


怎么不断的检测这个变量 i 的值 与 监视前的值 是否变化

最弱智的方法就是写个循环 加个sleep 可是这样太占CPU了

我想用阻塞的方法监视,

比如 我用普通的语句 赋值变量 i = 2; 那么监视这个变量的函数会立即返回...

...全文
2653 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-01-28
  • 打赏
  • 举报
回复
To set a breakpoint when a variable changes value From the Edit menu, click Breakpoints. Click the Data tab of the Breakpoints dialog box. In the Expression text box, type the name of the variable. Click OK to set the breakpoint.
zgl7903 2014-01-28
  • 打赏
  • 举报
回复
看看 “数据断点”
hushoubo 2014-01-27
  • 打赏
  • 举报
回复
我是来接分的,看了帖子还是有收获
shenyi0106 2014-01-27
  • 打赏
  • 举报
回复
给变量外加一个Event来通知
wumn29 2014-01-27
  • 打赏
  • 举报
回复
引用 5 楼 luofushan 的回复:
[quote=引用 2 楼 wumn29 的回复:] 楼主你钻牛角尖了, 首先我要说这种思路没法实现, 假设有两个线程, 线程A改写变量, 线程B监视变量, 当线程A执行改写操作的时候, 线程B必定在打酱油, 待分到CPU时间片之后才能执行检测, 且你还搞了sleep, 根本没法做到实时性。 为什么不换一种思路, 在变量i发生变化的时候主动通知。 如果i变化的地方太多了,是否可以将变量i封装成类, 重载赋值运算符, 在赋值函数里面检测变化呢?
okay 主动通知吧...非常感谢 ---------------------- 我以为 做出来这个后 会不占用时间 的 和 CPU的 进行动态监视变化数据 像屏幕像素监控一样....估计是我想多了.....[/quote] 卤煮, 你该结贴了
xiaohuh421 2014-01-27
  • 打赏
  • 举报
回复
像屏幕像素监控一样 关于显示的部分是用的GPU, 不是CPU, 所以你看不到CPU占用.
luofushan 2014-01-26
  • 打赏
  • 举报
回复
引用 2 楼 wumn29 的回复:
楼主你钻牛角尖了, 首先我要说这种思路没法实现, 假设有两个线程, 线程A改写变量, 线程B监视变量, 当线程A执行改写操作的时候, 线程B必定在打酱油, 待分到CPU时间片之后才能执行检测, 且你还搞了sleep, 根本没法做到实时性。 为什么不换一种思路, 在变量i发生变化的时候主动通知。 如果i变化的地方太多了,是否可以将变量i封装成类, 重载赋值运算符, 在赋值函数里面检测变化呢?
okay 主动通知吧...非常感谢 ---------------------- 我以为 做出来这个后 会不占用时间 的 和 CPU的 进行动态监视变化数据 像屏幕像素监控一样....估计是我想多了.....
wshcdr 2014-01-26
  • 打赏
  • 举报
回复
是啊, 在这个变量被赋值的时候,发个通知出来就是了
心是菩提树 2014-01-26
  • 打赏
  • 举报
回复
引用 2 楼 wumn29 的回复:
楼主你钻牛角尖了, 首先我要说这种思路没法实现, 假设有两个线程, 线程A改写变量, 线程B监视变量, 当线程A执行改写操作的时候, 线程B必定在打酱油, 待分到CPU时间片之后才能执行检测, 且你还搞了sleep, 根本没法做到实时性。 为什么不换一种思路, 在变量i发生变化的时候主动通知。 如果i变化的地方太多了,是否可以将变量i封装成类, 重载赋值运算符, 在赋值函数里面检测变化呢?
这个靠谱
wumn29 2014-01-26
  • 打赏
  • 举报
回复
楼主你钻牛角尖了, 首先我要说这种思路没法实现, 假设有两个线程, 线程A改写变量, 线程B监视变量, 当线程A执行改写操作的时候, 线程B必定在打酱油, 待分到CPU时间片之后才能执行检测, 且你还搞了sleep, 根本没法做到实时性。 为什么不换一种思路, 在变量i发生变化的时候主动通知。 如果i变化的地方太多了,是否可以将变量i封装成类, 重载赋值运算符, 在赋值函数里面检测变化呢?
luofushan 2014-01-26
  • 打赏
  • 举报
回复
像 GetMessage 有阻塞的特性 没有消息时 一直卡住...

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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