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支持查看等待的线程等;

你可能感兴趣的:(11. synchronized和ReentantLock对比)