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

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

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


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

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

我想用阻塞的方法监视,

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

...全文
529 点赞 收藏 11
写回复
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 有阻塞的特性 没有消息时 一直卡住...
回复 点赞
发动态
发帖子
进程/线程/DLL
创建于2007-09-28

6375

社区成员

4.9w+

社区内容

VC/MFC 进程/线程/DLL
社区公告
暂无公告