当前位置 : 主页 > 编程语言 > java >

第14章 多线程(17)互斥锁、条件锁、自旋锁

来源:互联网 收集:自由互联 发布时间:2022-07-13
互斥锁 多个线程不能同时进入指定范围,如synchronized/Lock 这些方式都是互斥锁,不同线程不能同时进入 synchronized Lock 设定锁的范围 例子: 条件锁 Object 的 wait(),Condition 的 await() 自旋锁


第14章 多线程(17)互斥锁、条件锁、自旋锁_开发语言

 

第14章 多线程(17)互斥锁、条件锁、自旋锁_自增_02

 互斥锁

多个线程不能同时进入指定范围,如synchronized/Lock 这些方式都是互斥锁,不同线程不能同时进入 synchronized Lock 设定锁的范围

例子:

第14章 多线程(17)互斥锁、条件锁、自旋锁_java_03

 条件锁

Object 的 wait(),Condition 的 await()

第14章 多线程(17)互斥锁、条件锁、自旋锁_开发语言_04

 自旋锁

比较典型的是原子类的操作,同时进行获取更新时会进行(CAS:compareAndSet),获取更新值,返回一个值

第14章 多线程(17)互斥锁、条件锁、自旋锁_互斥锁_05

上面的部分类似于 i++,下面的类似于++I

网友评论