
【计】 reentrant
【计】 reentrant control state
agree with; enter; income; join
在计算机科学与编程领域,"可重入的"(reentrant)是一个关键术语,指代函数或代码段能够在执行过程中被中断后再次安全进入并继续执行的特性。这一概念最早由IBM在1960年代提出,用于解决多任务环境下的资源共享问题。其核心要求包括:不依赖全局变量或静态数据、所有数据通过参数传递、避免调用非可重入函数。
从汉英词典角度解析,"可重入的"对应英文术语"reentrant",牛津计算机词典将其定义为:"A program or routine that can be executed by multiple users or processes simultaneously without adverse interaction"。IEEE Std 1003.1标准进一步规定,可重入函数必须保证线程安全,并且不会修改自身代码以外的内存区域。
实际应用中,可重入代码常见于:
国际电工委员会(IEC)在IEC 61508功能安全标准中特别强调,安全关键系统中的代码必须通过可重入性验证,以确保系统在异常条件下的可靠性。这种设计原则已广泛应用于航空航天控制系统(如NASA的航天器软件架构)和金融交易系统(如纽约证券交易所的匹配引擎算法)等关键领域。
可重入(Reentrant)是计算机编程中的重要概念,主要用于多任务或并发环境中,描述函数、代码或资源能否在未完成执行时被安全中断并重新进入的特性。以下是详细解释:
可重入指程序或子程序在执行过程中被中断后,再次进入仍能正确运行,且不依赖共享资源或全局状态。例如:
特征 | 可重入 | 非可重入 |
---|---|---|
依赖资源 | 仅局部变量或线程私有资源 | 全局变量、静态数据、系统资源 |
中断安全性 | 中断后恢复无副作用 | 中断可能导致数据不一致或错误 |
适用场景 | 多任务、高并发环境 | 单线程或严格互斥环境 |
可重入代码需满足:
可重入性通过隔离执行环境和避免共享状态,确保代码在并发、中断等复杂场景下的安全性和正确性。这一概念在操作系统、多线程编程(如Java锁机制)及嵌入式系统中尤为重要。
巴累氏征半位组暴虐的材料分类帐产量奖金制戴顿氏综合征敌稗低温下橡皮流动性工艺后段花椒萜加轭间接诉讼程序角膜板层管脊板截断规定晶体测算学可重入子程序螺旋体尿马德隆氏畸形尿道造口术侵权行为法扇形发动机十八烷腈似棉的顺次手工螺丝攻损耗率诉讼争执点登录册通讯中心图象噪声