自己关于可重入函数的一些思考:
关于“可重入”的理解:函数还未执行完成,在返回之前,可以被中断并被重新调用,而不影响函数的正确返回。
在函数没有返回时,被重新调用,会在栈上重新分配新的空间。如果函数体内没有对全局变量或者静态的变量进行操作,函数体内操作的数据全部由调用者提供(即:形参),不管函数被重新调用多少次,每一次的函数返回都不会受到影响。但:如果形参是指针,即:函数返回之前被重新调用时,如果两次调用访问的是同一个数据,则会出现数据紊乱,此时的情况便相当于函数内部访问了全局变量。为了防止这样的情况发生,我们必须用好互斥的手段。比如关中断或者信号量。
更多详细的关于可重入函数的概念参考博客:
http://blog.csdn.net/u014774781/article/details/48575771