全国

    当前位置:

  • 热门地区:
  • 选择地区:
  • ×
当前位置: 初三网 > 初中英语 > 英语知识点 > 正文

lock和synchronized区别 英语单词有什么不同

2023-10-19 08:34:26文/勾子木

lock和synchronized区别:1.synchronized是阻塞式加锁,lock是非阻塞式加锁支持可中断式加锁,支持超时时间的加锁;2.synchronized在进行加锁解锁时,只有一个同步队列和一个等待队列,lock有一个同步队列,可以有多个等待队列。

lock和synchronized区别 英语单词有什么不同

lock和synchronized区别

1.synchronized是关键字,Lock是接口;

2.synchronized是隐式的加锁,lock是显式的加锁;

3.synchronized可以作用于方法上,lock只能作用于方法块;

4.synchronized底层采用的是objectMonitor,lock采用的AQS;

5.synchronized使用了object类的wait和notify进行等待和唤醒, lock使用了condition接口进行等待和唤醒(await和signal)。

lock和synchronized有什么相同点

1. 两者都是用来保护资源 ,线程安全的

都可以起到保护资源,不会因多线程修改而产生冲突的情况。

2. 可以保证可见性

可见性,说起来也简单,简单来说在解锁N之前的所有操作,对于加锁N之后的所有操作(包括其他线程的)都是可见的。

3. 都可重入

synchronized 和 ReentrantLock (Lock)都具备可重入性,可重入是指如果一个线程已经获取了一个锁,再试图获取这个锁,不需要释放,而是直接获取锁。如果不可重入是一个线程获取A锁之后,同一个线程如果想再次获取A锁,必须先释放后,才能再次获取A锁。

查看更多【英语知识点】内容