利用全局变量区域自动受保护的特征,代替实现reentrant的局部变量入栈保护操作.读到这里就完全明白了.
不过他这么做是出于什么目的呢?局部变量入栈在这里有什么缺点吗?难道是因为这么做需要很大一片栈区? 比如task 0与task 1之间需要共享的值有char a,b,c三个,如果使用局部变量,task 0和task 1分别要用三个char空间栈区保护这三个值,当task 0释放资源之前,它必须把a,b,c的值压在一片栈里,同样,当task 1释放资源之前,它必须把a,b,c的值压在另一片栈里,也就是说使用局部变量需要用到的栈区要比直接使用全局变量的空间多一倍.虽然局部变量是用完就释放,但真正耗费的是栈.
不知道这么理解对不对?
|