• sychronized和reentrantlock区别在哪里?都有什么用处?

    sychronized和reentrantlock区别在哪里?都有什么用处?

    一般在编写java多线程时,如果想要保证线程安全就会需要进行数据同步,而数据同步就有Synchronized和ReentrantLock这两种方式,那它们两个都有什么区别呢?一起来看看吧。区别:1.ReentrantLock 拥有与Synchronized相同性质的并发性和内存语义,除此之外它还有着锁投票,定时锁等候与中断锁等候等Synchronized没有的性质。例:线程a与b都需要对象c的锁定,假设A获取了对象c锁,B就只能等待A释放对c的锁定,使用 synchronized ,a不释放