@Component单例与并发

Posted therhyme

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Component单例与并发相关的知识,希望对你有一定的参考价值。

今天用websocket记录连接的个数;

模拟少量请求到服务器端的websocket,@Component默认是单例的,让其注解到MyWebSocket类上;

由于单例,每次请求过来都是相同的MyWebSocket对象,但是是不同的内存,修改其中之一对象的某些属性不会改变其他的对象的属性,可以使用static让多个连接请求共享变量的最终值,想要获得实时的值,让写操作与读同步就行。

错误的想法:把单例想象成了同一块内存了,多个请求被同一块内存处理。

应该是初始是被相同的对象处理,但是这些对象仅仅是引用相同,所占内存不同

以上是关于@Component单例与并发的主要内容,如果未能解决你的问题,请参考以下文章

并发编程:单例与多线程

Spring Controller单例与线程安全那些事儿

Spring Bean单例与线程安全

解决SpringBoot定时任务并发执行线程单例问题

解决SpringBoot定时任务并发执行线程单例问题

Spring component-scan 的逻辑 单例模式下多实例问题事务失效