11. synchronized和ReentantLock对比

synchronized和ReentantLock对比:

  1. synchronized是java关键字,其享受JVM带来的锁优化机制:偏向锁、轻量级锁、重量级锁等;ReentantLock则是一个类,实现依赖AQS;

  2. synchronized一般会自动解锁,而ReentrantLock需要手动调用unlock;

  3. synchronized和ReentantLock都支持可重入特性;

  4. ReentantLock支持公平性,synchronized则不支持;

  5. ReentantLock支持tryLock获取锁尝试;

  6. ReentantLock支持可打断的加锁操作;

  7. ReentantLock支持条件变量,可用来替代Oject.wait和notify方法;

  8. ReentrantLock支持查看等待的线程等;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。