做多语言时,在渲染页面时有下面伪代码
Thread.CurrentThread.CurrentCulture = 中文
或
Thread.CurrentThread.CurrentCulture = 英文
我比较不解的是:
1.这是设置服务器线程的语言么?那这么设置不是变成全局的了么,那假如有第2个人访问网站,岂不是他的语言也会随着第1个用户的改变而改变。
2.还是说iis会为每一个访问者分配1个线程?那如果有1000个人同时访问岂不是会有1000个线程?iis的线程他是怎么处理的呢?
1.设置语言是与线程一一对应的,不存在全局
2.IIS是会分配线程给每个用户,但是线程池中等待调度的线程,你如果在同一时刻有1000人访问,那线程数大约是访问数的10%~20%就能满足要求了。
哦,那不说用户,说请求。就是每个请求都会有一个单独独立的线程来渲染这个页面是吧,等到下一个请求的时候又换一个线程了,所以不存在互相影响的情况,这样理解?
@wdwwtzy: 是
@56180825: 多谢解惑。那是不是也可以这样理解,假如有1000个请求同时发出,那么iis就要同时产生1000个线程来渲染页面?
@wdwwtzy: 不会,因为可能只需要50-100个线程就可以了(具体无法考证),程序的执行速度很快,可能地3个请求到来的时候第1个请求已经结束,然后第1个线程分配给第3个请求。