什么是重入程序?

前端之家收集整理的这篇文章主要介绍了什么是重入程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是重入过程?您能举例说明何时使用它?

编辑:此外,多个进程可以并行访问重入过程吗?

请提供一种与维基百科不同的解释方式,因为我不完全理解他们的描述,因此我的问题在这里

解决方法

重新进入背后的想法是,例程可以在执行过程中被调用,并且它仍然可以正常工作.

通常,这是通过仅使用在堆栈上声明的参数和局部变量来实现的(在C术语中,没有静态局部变量).在执行期间不锁定任何全局资源也很重要.

现在,你可能会问,“如果这样一个奇怪的事情会像往常一样多次运行?”嗯,这可能发生的一些方法是:

>例程是递归的(或者与其他一组例程相互递归).
>它被另一个线程调用.
>它被一个中断调用.

如果发生任何这些情况,并且例程正在修改全局(或C静态本地),则新执行可能会消除第一次执行所做的更改.例如,如果将该全局用作循环控制变量,则可能导致第一次执行,当它最终恢复时,循环错误次数.

原文链接:https://www.f2er.com/c/120058.html

猜你在找的C&C++相关文章