目录
1.线程安全问题:
多个线程同时操作同一个共享资源的时候可能会出现业务安全问题,成为线程安全问题。
2.取钱案例:
需求:小明和小红是一对夫妻,他们有一个共同的账户,余额是10万元。
如果小明和小红同时来取钱,而且2人都要取钱10万元,可能出现什么问题呢?
假设小明的进程先执行,先小明进程判断余额是否足够,后小红进程判断余额是否足够,余额足够,先小明进程在账户中吐出10w元,更新余额,然后小红进程在账户中吐出10w元,更新余额,最后小明取钱后剩余0.0元,小红取钱后剩余-10w元。
1.线程安全问题出现的原因?
1.存在多线程并发。
2.同时访问共享资源。
3.存在修改共享资源。
3.线程同步 -> 为了解决线程安全问题
1.取钱案例出现问题的原因?
多个线程同时执行,发现账户都是够钱的。
2.如何才能保证线程安全呢?
让多个线程实现先后依次访问共享资源