有时候是否该允许脏读?

来源:互联网 发布:全球潮汐软件下载 编辑:程序博客网 时间:2024/06/06 11:40

1:想想这样要给场景,订单列表需要频繁的查询,订单也需要频繁的操作(更新,需要锁表)。

频繁的更新因为锁表的原因,会导致查询的时候,出现锁异常。()

2:关于同步锁导致的处理慢,同步锁使用后,如果放在方法上,相当于放弃了多线程,那么就是单线程了,单线程很慢,

对于要求实时操作的东西,就会不适用。所以不要轻易加同步锁。

3:关于多个线程恭喜变量,变量安全性问题。

多个线程恭喜变量,如果同时访问到这个变量。变量数据的安全性怎么办?(这有点类似事物的丢失更新)

比如要给全局变量为int groupVariable=0;

两个线程同时访问,都对这个变量加1;

最后发现这个变量=1,本来该等于2,这个就是并发的问题。

4:关于ThreadLocal,实质是多线程,加了ThreadLocal的变量,每个线程来都是复制了一份变量。线程之间根本没有共享变量。

spring的单例模式好像就是这样来实现多线程的。虽然单例模式,但是还是多线程。

0 0