java并发-锁的两种实现方式

2020-08-08T13:44:52
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

安装基本实现技术来看,Java中的锁实现互斥执行也就只有两类

  1.利用阻塞

    典型的实现就是synchronized的方式,这种方式就是jvm基本实现的方式,当一个线程获得锁之后切没有释放锁,那么第二个线程尝试获得锁将失败,加入等待队列,同时让出本次线程的时间片的调度,让其他线程执行。产生一个被阻塞的表象,其内部其实已经没有在执行。

  2.利用自旋

    利用cas原子操作构建等待队列,让未获得锁的线程一直死循环地重试获得锁,这种方式,没有产生线程的调度,但感觉比较浪费cpu计算资源。

扫一扫关注公众号添加购物返利助手,领红包
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。