bri*_*wey 3 c# asp.net iis callstack static-methods
理论问题.如果您有100个单独的请求进入一个调用下面的静态方法的aspx网页.
public static GeocodeResult GeocodeQuery(string query)
{
int train, tube, dlr = 0;
// manipulate these ints
if (train)
{
// do something important
}
}
Run Code Online (Sandbox Code Playgroud)
每个请求都有一个单独的调用堆栈吗?
如果是这样 - 这个静态方法调用是否被推送到这些单独的调用堆栈上?
如果是这样 - 因此这些内部线程是否安全?即.100个请求,100个调用帧,300个整数.
干杯
是的,每个请求都有自己的调用堆栈.并且每个堆栈将包含它自己的查询,训练,管,dir值,因为局部变量和方法参数存储在堆栈中.
因此,除非您访问某些共享状态,否则此方法是线程安全的.