可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反,不可重入( non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥 (或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。
在多任务操作系统的环境下编程,要注意函数可重入性的构造,可重入性是指函数可以被多个任务进程调用。在多任务操作系统中,函数是否具有可重入性是非常重要的,因为这是多个进程可以共用此函数的必要条件。另外,编译器是否提供可重入函数库,与它所服务的操作系统有关,只有操作系统是多任务时,编译器才有可能提供可重入函数库。如 DOS 下 BC 和 MSC 等就不具备可重入函数库,因为 DOS 是单用户单任务操作系统。