• λ我爱Aspx >> C#.Net >> 如何实现操作不被其他进程打断?
  • 如何实现操作不被其他进程打断?

  • :aspxer  Դ:csdn  :2007-6-12 3:43:36  ؼ:
  • 大概是这样的一个程序,目标是为了测试系统的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立刻读取数据的过程不被打断呢?

    关于线程同步锁,不是很了解,针对这个程序能否给点提示?

    Ҷƪл˵?
  • һƪ请问:gtk有哪些信息啊,delete_event是不是个信息啊,哪有gtk信息的资料啊,帮助上有吗?
    һƪgcc 能编译 c++ 吗