首先了解什么是可重入?
顾名思义就是“可以重新载入”。
什么是可重入函数?
当函数A在执行过程中因某原因中断,而去执行另一个函数B,函数B执行完成后,不会影响A预期的结果(主要是A内部使用的变量),称为“可重入函数”。
什么是可重入内核?
原理和“可重入函数”相同,我们都知道单核处理器中的进程都是交替运行的,一个进程中断后,内核会保存当前进程的相关信息,然后执行下一个进程,等完成后再将上个进程从中断的位置重新恢复执行。这种内核被称为“可重入内核”。
可重入函数与可重入内核的联系
编写函数是实现“可重入内核”的方式之一,由于一些对IO操作的需求,必须要包含“不可重入函数”,那怎么保证数据的安全呢?内核采用了锁机制保证一次只有一个进程执行一个“不可重入函数”。