一.线程安全问题
现象:多条线程消费(读取、更改)一些已经被消费过的数据。(消费:更改,更新)
原因:
1.每一个子线程都有自己的工作空间。
2.破坏了数据的原子性(不可分割)。(同时成功或者同时失败)
3.多条线程(并发)操作同一共享数据。
4.几乎无法预测线程的执行顺序。(每个子线程工作过程不透明)
5.只存在读数据的时候,不会产生线程安全问题。
二.超卖问题(超出了售卖的个数)
.现象:超卖又可以理解为过量出售。消费的个数超出了原有的库存量。现在卖10个豆浆机。
.产生的原因:某个服务或线程出售了不存在的库存量。
.问题分析:并发线程,共享数据,共同写操作会导致死锁。