当前位置: 技术问答>linux和unix
_disable()和_enable()组合的应用讨论 --- 欢迎各位参加!
来源: 互联网 发布时间:2015-07-21
本文导语: 各位大虾: 程序里面可以用_disable()和_enable()组合来将某段程序保护起来,以使该程序段不受中断的影响,是不是这样? void TestFunction() { _disable(); gPnt->tmpCount++; ...
各位大虾:
程序里面可以用_disable()和_enable()组合来将某段程序保护起来,以使该程序段不受中断的影响,是不是这样?
void TestFunction()
{
_disable();
gPnt->tmpCount++;
_enalbe();
}
如上面的程序,TestFunction()函数在修改全局指针的tmpCount变量时不允许被中断。但是,如果其他的某个线程(假设是A线程)是在更改了tmpCount变量后发送信号来通知TestFunciton()所在的线程(假设是B线程),那么我的问题是:
1) _disable()和_enable()组合的作用是使被它们包括起来的代码段的执行不受打断,还是
2) 如果在TestFunction执行过程中,A线程刚好改变了tmpCount变量并将产生发送信号给B线程,那么此时将发生什么?该信号将被忽略,还是?
3) 在TestFunction函数的执行过程中,其他的线程能否改变或访问gPnt->tmpCount变量,如果不能,那么那个线程会做何动作?等待可以访问,还是?
欢迎大家参加讨论!!!
程序里面可以用_disable()和_enable()组合来将某段程序保护起来,以使该程序段不受中断的影响,是不是这样?
void TestFunction()
{
_disable();
gPnt->tmpCount++;
_enalbe();
}
如上面的程序,TestFunction()函数在修改全局指针的tmpCount变量时不允许被中断。但是,如果其他的某个线程(假设是A线程)是在更改了tmpCount变量后发送信号来通知TestFunciton()所在的线程(假设是B线程),那么我的问题是:
1) _disable()和_enable()组合的作用是使被它们包括起来的代码段的执行不受打断,还是
2) 如果在TestFunction执行过程中,A线程刚好改变了tmpCount变量并将产生发送信号给B线程,那么此时将发生什么?该信号将被忽略,还是?
3) 在TestFunction函数的执行过程中,其他的线程能否改变或访问gPnt->tmpCount变量,如果不能,那么那个线程会做何动作?等待可以访问,还是?
欢迎大家参加讨论!!!
|
1) _disable()和_enable()组合的作用是使被它们包括起来的代码段的执行不受打断,还是
It is correct according to literal meaning it, but it only prevents multi-tasks/multi-thread from modifying that codes at the same time.
2) 如果在TestFunction执行过程中,A线程刚好改变了tmpCount变量并将产生发送信号给B线程,那么此时将发生什么?该信号将被忽略,还是?
I don't understand what you said.
3) 在TestFunction函数的执行过程中,其他的线程能否改变或访问gPnt->tmpCount变量,如果不能,那么那个线程会做何动作?等待可以访问,还是?
Yes, any thread can modify gPnt->tmpCount except calling TestFunction function.
It is correct according to literal meaning it, but it only prevents multi-tasks/multi-thread from modifying that codes at the same time.
2) 如果在TestFunction执行过程中,A线程刚好改变了tmpCount变量并将产生发送信号给B线程,那么此时将发生什么?该信号将被忽略,还是?
I don't understand what you said.
3) 在TestFunction函数的执行过程中,其他的线程能否改变或访问gPnt->tmpCount变量,如果不能,那么那个线程会做何动作?等待可以访问,还是?
Yes, any thread can modify gPnt->tmpCount except calling TestFunction function.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。