Synchronized 和 Lock 区别

川长思鸟来 2022-09-02 12:50 324阅读 0赞

Synchronized 和 Lock 区别

1、Synchronized 内置的Java关键字, Lock 是一个Java类
2、Synchronized 无法判断获取锁的状态,Lock 可以判断是否获取到了锁
3、Synchronized 会自动释放锁,lock 必须要手动释放锁!如果不释放锁,死锁
4、Synchronized 线程 1(获得锁,阻塞)、线程2(等待,傻傻的等);Lock锁就不一定会等待下去;
5、Synchronized 可重入锁,不可以中断的,非公平;Lock ,可重入锁,可以 判断锁,非公平(可以自己设置);
6、Synchronized 适合锁少量的代码同步问题,Lock 适合锁大量的同步代码!

发表评论

表情:
评论列表 (有 0 条评论,324人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SynchronizedLock区别

    适合简单的同步场景,它是 Java 语言级的特性。由于 JDK 的优化,它在性能上有了显著提升,对大多数情况下足够好。相比之下,Lock提供的灵活性更高,它是显式的、可控...

    相关 synchronizedlock区别

    同步(synchronized)是一种机制,可以确保多个线程不会同时执行同一段代码,从而避免多线程间的数据竞争和冲突。锁(lock)是一种更细粒度的同步机制,它可以把一段代码块

    相关 synchronizedlock区别

    同步(synchronized)是一种机制,可以确保多个线程不会同时执行同一段代码,从而避免多线程间的数据竞争和冲突。锁(lock)是一种更细粒度的同步机制,它可以把一段代码块