Questions tagged «reentrancy»

7
可重入函数到底是什么?
大多数 的 的 时代,再进入的定义转引自维基百科: 如果一个计算机程序或例程可以在之前的调用完成之前安全地再次调用(即可以安全地同时执行),则称为可重入 。要重入,可以使用计算机程序或例程: 必须不包含静态(或全局)非恒定数据。 不得将地址返回静态(或全局)非恒定数据。 必须仅对调用方提供的数据起作用。 绝对不能依赖于对单例资源的锁定。 不得修改自己的代码(除非在自己的唯一线程存储中执行) 不得调用非可重入计算机程序或例程。 如何安全定义? 如果一个程序可以安全地并发执行,是否总是意味着它是可重入的? 在检查代码的可重入功能时,应牢记的六点之间的共同点到底是什么? 也, 所有递归函数都是可重入的吗? 所有线程安全函数都可重入吗? 所有递归和线程安全函数都可以重入吗? 在写这个问题时,会想到一件事:再入和线程安全之类的术语是绝对绝对的,即它们是否具有固定的具体定义?因为,如果不是这样的话,这个问题就没有太大意义。

3
线程安全与可重入
最近,我问了一个问题,标题为“ malloc线程安全吗?” ,然后在里面问:“ malloc是否可重入?” 我的印象是所有重入者都是线程安全的。 这个假设错了吗?

3
Lock和RLock有什么区别
从文档: threading.RLock()-一个工厂函数,返回一个新的可重入锁对象。可重入锁必须由获取它的线程释放。一旦线程获取了可重入锁,同一线程就可以再次获取它而不会阻塞;线程必须在每次获取它后释放一次。 我不确定为什么我们需要这个?Rlock和之间有什么区别Lock?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.