Controller是线程安全的吗

Controller是线程安全的吗

最近学长被问到了这个面试题,自己也查阅了相关的资料总结如下,
在Springmvc中,所有的bean实例都是交给ioc容器去管理,默认Scope是单例模式,所以他是线程不安全的.
解决方法
1将创建的Controller的Scope设置成为多例prototype.但这样会消耗很多资源,并且这种方式只对于该Controller中非静态成员变量有用,如果是静态资源他还是会线程不安全.
2单例模式下需要线程安全的话必须使用ThreadLocal来封装变量ThreadLocal tl = new ThreadLocal<>(); 才能保证线程安全.

猜你喜欢

转载自blog.csdn.net/weixin_43203363/article/details/108953974