页面校验调试问题

来源:互联网 发布:oracle数据库题目 编辑:程序博客网 时间:2024/05/20 23:39

对数据库缓冲区的页面进行页面校验,写校验和的时机是数据每次对页面修改提交的时候,对系统性能还是有一定的影响,检验的时机是该页第一次被调入内存。结果在调试的时候,发现一种怪现象,对某个页进行校验时,不设置断点,校验出错,设置断点后校验成功。郁闷之极,后来终于发现了问题:系统有一种调入页面的方式就是,只发读命令,没有等待页面调入内存就返回,执行某些操作后,再来等页面调入。我检查的地方就是在页面调入内存命令发送后,并不能确保页面已经调入了内存,这样检验就有问题。在设置了断点之后,读写线程在这个时间已经把该页调入内存,因此检验成功!

收获:多线程调试情况下,要考虑多线程的特殊情况,当前线程暂停时,其他线程可能还是执行了一些操作然后停止的。

原创粉丝点击