分类:
2010-07-05 16:57:40
一个函数被重入,表示这个函数没有执行完成,由于外部因素或内部调用,又一次进入该函数的执行。一个函数被重入,有两种情况:
1. 多个线程同时执行这个函数;
2. 函数自身调用自身;
如果一个函数被重入之后不会产生任何不良后果,则称其为可重入函数,通常为了保证多线程环境下的程序的安全性,都需要使用可重入函数。
可重入函数具有以下特点:
1. 不适用任何(局部)静态或全局的非const变量;
2. 不返回任何(局部)静态或全局的非const变量的指针;
3. 仅依赖与调用方法提供的参数;
4. 不依赖任何单个资源的所;
5. 不调用任何不可重入的函数;