我爱Aspx >> C#.Net >> 如何实现操作不被其他进程打断?大概是这样的一个程序,目标是为了测试系统的timer interrupts是否正常
/proc/interrupts文件中有一行timer记录着系统的timer interrupts次数,而且不断的增加中.我要计算在两个时间点(不一定是wall time)下,其增加值是否和预期的一样.
实现方法大概如下:
if(时间点1)
次数1=读(/proc/interrupts文件);
if(时间点2)
次数2=读(/proc/interrupts文件);
每个时间点的次数=(次数2-次数1)/(时间点2-时间点1)
.....
现在的问题是我如何才能保证在时间点1成功后,立刻就去读取(/proc/interrupts文件,而不会在两者的时间窗口被其他进程打断呢?要是被打断,那么计算出来的值将不会正确.
请各位高手提出自己的看法...谢谢
第2楼. 由 awjx 于 2007-5-25 13:41:02 发表
这种应用,估计只能用实时操作系统。
或都用单任务的DOS系统。
不过我也还没怎么弄明白楼主的用意?
如果是在一个线程中,当然是顺序执行的,怎么会被打断?
如果是多线程,可以用锁来同步啊?
第3楼. 由 lilingcx 于 2007-5-26 11:24:53 发表
To awjx(啦啦啦);
这个程序是要在Linux上应用的.Linux估计不是实时操作系统....
疑问:Linux应该支持多线程,但是每个时间里面CPU仅仅执行一个线程,执行完线程A或者执行过程中被打断去执行线程B
Linux中有一个atomic operate的概念,就是保证I/O相关操作不被其他打断,是否也能有相关的方法保证我这个在时间点1立刻读取数据的过程不被打断呢?
关于线程同步锁,不是很了解,针对这个程序能否给点提示?
Ҷƪл˵?
gcc 能编译 c++ 吗[06-12]
关于DataSet中表格的RowIndex的问..[06-12]
如何实现PNG图片变色?[06-12]
请问,WIN程序,全选更新到数据库..[06-12]
access报错操作必须使用一个可更..[06-12]
帮我看看这样算不算装上 framewo..[06-12]
关于一个截取字符串问题[06-12]
关于system.out.println中out的简..[06-12]
就 10 分了,紧急简单问题,关于 u..[06-12]
如何将字符型转化成浮点型?[06-12]