1:想想这样要给场景,订单列表需要频繁的查询,订单也需要频繁的操作(更新,需要锁表)。
频繁的更新因为锁表的原因,会导致查询的时候,出现锁异常。()
2:关于同步锁导致的处理慢,同步锁使用后,如果放在方法上,相当于放弃了多线程,那么就是单线程了,单线程很慢,
对于要求实时操作的东西,就会不适用。所以不要轻易加同步锁。
3:关于多个线程恭喜变量,变量安全性问题。
多个线程恭喜变量,如果同时访问到这个变量。变量数据的安全性怎么办?(这有点类似事物的丢失更新)
比如要给全局变量为int groupVariable=0;
两个线程同时访问,都对这个变量加1;
最后发现这个变量=1,本来该等于2,这个就是并发的问题。
4:关于ThreadLocal,实质是多线程,加了ThreadLocal的变量,每个线程来都是复制了一份变量。线程之间根本没有共享变量。
spring的单例模式好像就是这样来实现多线程的。虽然单例模式,但是还是多线程。