美文网首页java
Controller是单例模式的吗?如何保证线程安全?

Controller是单例模式的吗?如何保证线程安全?

作者: 鸿雁长飞鱼龙潜跃 | 来源:发表于2019-06-14 16:15 被阅读190次

    Controller是单例模式的吗?如何保证线程安全?

    答:Controller是单例的,也就是说并发请求调用Controller生成的是同一个对象。从线程安全的角度来说,这些线程共享Controller的实例对象。

    接下来我们说一下线程安全的问题。首先明确一点,spring的controller是非线程安全的。既然是非线程安全的,那么我们就要注意共享内存中的对象了,这些对象必须要注意线程安全问题。

    如何解决线程安全问题呢?

    第一种方式,避免定义全局变量。局部变量不存在线程安全问题。

    第二种方式,使用ThreadLocal来进行线程隔离。如何使用这里不再赘述。网上有很多例子。

    相关文章

      网友评论

        本文标题:Controller是单例模式的吗?如何保证线程安全?

        本文链接:https://www.haomeiwen.com/subject/fbepfctx.html