首页 > 试题广场 >

截止JDK1.8版本,java并发框架支持锁包括?

[不定项选择题]
截止JDK1.8版本,java并发框架支持锁包括?
  • 读写锁
  • 自旋锁
  • X锁
  • 乐观锁
  • 排他锁

Java锁的种类以及辨析 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA中常见的锁以及其特性,为大家答疑解惑。

1、自旋锁

2、自旋锁的其他种类

3、阻塞锁

4、可重入锁

5、读写锁

6、互斥锁

7、悲观锁

8、乐观锁

9、公平锁

10、非公平锁

11、偏向锁

12、对象锁

13、线程锁

14、锁粗化

15、轻量级锁

16、锁消除

17、锁膨胀

18、信号量

发表于 2015-11-25 09:14:31 回复(58)
正确答案:ABD;题目来源《深入理解Java虚拟机》
解析:
截止JDK1.8,java中的锁包括:参考 http://ifeve.com/java_lock_see/
编辑于 2016-08-24 00:16:31 回复(1)

鬼才记得住

发表于 2018-07-24 01:00:29 回复(2)
比较详细的解释每一种锁定义
发表于 2017-09-13 08:45:58 回复(0)
有点复杂
发表于 2016-11-22 18:31:47 回复(0)
深入理解Java虚拟机上有
发表于 2016-03-10 09:39:33 回复(2)

Java锁的种类以及辨析 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA中常见的锁以及其特性,为大家答疑解惑。


1、自旋锁

2、自旋锁的其他种类

3、阻塞锁

4、可重入锁

5、读写锁

6、互斥锁

7、悲观锁

8、乐观锁

9、公平锁

10、非公平锁

11、偏向锁

12、对象锁

13、线程锁

14、锁粗化

15、轻量级锁

16、锁消除

17、锁膨胀

18、信号量

发表于 2016-09-18 08:56:00 回复(0)
18种锁。
发表于 2020-09-12 22:53:15 回复(0)
1、自旋锁 ,自旋,jvm默认是10次吧,有jvm自己控制。for去争取锁 2、阻塞锁 被阻塞的线程,不会争夺锁。 3、可重入锁 多次进入改锁的域 4、读写锁 5、互斥锁 锁本身就是互斥的 6、悲观锁 不相信,这里会是安全的,必须全部上锁 7、乐观锁 相信,这里是安全的。 8、公平锁 有优先级的锁 9、非公平锁 无优先级的锁 10、偏向锁 无竞争不锁,有竞争挂起,转为轻量锁 11、对象锁 锁住对象 12、线程锁 13、锁粗化 多锁变成一个,自己处理 14、轻量级锁 CAS 实现 15、锁消除 偏向锁就是锁消除的一种 16、锁膨胀 jvm实现,锁粗化 17、信号量 使用阻塞锁 实现的一种策略 18、排它锁:X锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
发表于 2019-08-21 09:31:43 回复(0)

这种题为了提现本语言的优越性,按道理应该是全选的,这题不按套路出牌啊!

发表于 2018-08-09 15:35:12 回复(0)
搞错了,X锁和排他锁是数据库的
发表于 2018-03-13 10:41:50 回复(0)
这个题出的不好原因有12
1 首先排他锁是(exclusion lock) 也就是x锁,和c选项重复
2 在aqs设计中锁的类型总体有两种 share锁和exclude锁,那么分别对应的是共享锁和排它锁。所以5也是对的
发表于 2017-07-25 19:30:32 回复(0)
锁就是并发共享数据,实现一致性的工具,深入理解一下Java虚拟机的线程安全手段~~
发表于 2016-10-16 10:01:04 回复(0)
1) spinlock,就是利用cpu的cas指令+死循环来操作共享数据,由于在此期间操作系统并不会暂停任何线程(线程没有调用yield或者wait_for_object等block线程的api),所以也就是乐观锁。

2)排他锁 = 互斥锁,否则请用英文指出两个概念的名字,以及wikipedia条目。

3)锁不一定互斥,比如读写锁,某数据上了读写锁,所有读线程都可以进入。
发表于 2016-10-06 01:11:32 回复(0)
1、自旋锁 ,自旋,jvm默认是10次吧,有jvm自己控制。for去争取锁

2、阻塞锁 被阻塞的线程,不会争夺锁。

3、可重入锁 多次进入改锁的域

4、读写锁

5、互斥锁 锁本身就是互斥的

6、悲观锁 不相信,这里会是安全的,必须全部上锁

7、乐观锁 相信,这里是安全的。

8、公平锁 有优先级的锁

9、非公平锁 无优先级的锁

10、偏向锁 无竞争不锁,有竞争挂起,转为轻量锁

11、对象锁 锁住对象

12、线程锁

13、锁粗化 多锁变成一个,自己处理

14、轻量级锁 CAS 实现

15、锁消除 偏向锁就是锁消除的一种

16、锁膨胀 jvm实现,锁粗化

17、信号量 使用阻塞锁 实现的一种策略

18、排它锁:X锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
编辑于 2016-05-17 11:05:17 回复(4)
排它锁也叫x锁,明显,一道题里不应该出现两个一样的。
发表于 2016-03-22 15:37:30 回复(3)
http://ifeve.com/java_lock_see/
发表于 2015-11-12 19:15:55 回复(9)

Java锁的种类以及辨析 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。

截止JDK1.8版本,java并发框架支持锁包括: 读写锁, 自旋锁, 乐观锁。
锁的分类:
1、自旋锁 ,自旋,jvm默认是10次吧,有jvm自己控制。for去争取锁
2、阻塞锁 被阻塞的线程,不会争夺锁。
3、可重入锁 多次进入改锁的域
4、读写锁
5、互斥锁 锁本身就是互斥的
6、悲观锁 不相信,这里会是安全的,必须全部上锁
7、乐观锁 相信,这里是安全的。
8、公平锁 有优先级的锁
9、非公平锁 无优先级的锁
10、偏向锁 无竞争不锁,有竞争挂起,转为轻量锁
11、对象锁 锁住对象
12、线程锁
13、锁粗化 多锁变成一个,自己处理
14、轻量级锁 CAS 实现
15、锁消除 偏向锁就是锁消除的一种
16、锁膨胀 jvm实现,锁粗化
17、信号量 使用阻塞锁 实现的一种策略
18、排它锁:X锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
发表于 2016-12-26 13:47:49 回复(0)
考察java锁的知识点,不存在X锁和排他锁
发表于 2016-02-24 19:46:33 回复(0)
非共享锁不算一种排它锁吗?
发表于 2024-10-28 15:54:25 回复(0)