第18节:线程同步机制
1.理论整理
并发: 同一个对象被多个线程同时操作;
- 由于同一进程的多个线程共享同一块存储空间,会发生访问冲突问题.为了访问的正确性,在访问时加入了锁机制(synchronized) 。当一个线程获得对象的排它锁时,独占资源,其他线程必须等待,使用后释放锁即可。
- 一个线程持有锁会导致其他所有需要此锁的线程挂起;
- 在多线程竞争下,加锁,释放锁会导致比较多的上下文切换和调度延时,引起性能问题;
- 如果一个优先级高的线程等待一个优先级低的线程释放锁,会导致优先级倒置,引起性能问题
2.实践
-
抢票不安全
-
同时取钱不安全
-
列表不安全
声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权