锁 三斗米 2019-10-16 140 阅读1分钟 自旋锁:加锁线程不休眠,直到可用为止 优点:不需要休眠/唤醒线程 缺点:一直占用CPU,所以小操作建议用自旋锁 互斥锁:加锁挂起休眠,让位给其他线程,直到被重新唤醒 优点:不占用CPU 缺点:休眠/唤醒线较占用资源 递归锁:互斥锁的特列,同样只能有一个线程访问该对象,但允许同一个线程在未释放其拥有的锁时反复对该锁进行加锁操作,加了N次锁就需要解锁N次 互斥量 信号量 @synchronised:对mutex递归锁的封装