因此,func() 尽管通过加锁的方式能保证线程安全,但是由于函数体对共享资源的访问,因此是非可重入。如果将函数中的全局或静态变量去掉,改成函数参数等其他形式,则有可能使函数变成既线程安全,又可重入。比如:strtok函数是既不可重入的,也不是线程安全的;加锁的strtok不是可重入的,但线程安全;而strtok_r既是可重入的,也是线程安全的。
中断处理程序不能使用printf的本质,布布扣,bubuko.com
原文地址:http://blog.csdn.net/mao0514/article/details/32700835