Lock的四个锁方法简单说明

IT教程 2年前 (2020) https://www.55wd.com
2,044

locklock

void lock();在等待获取锁的过程中休眠并禁止一切线程调度

void lockInterruptibly() throws InterruptedException;在等待获取锁的过程中可被中断

boolean tryLock(); 获取到锁并返回true;获取不到并返回false

boolean tryLock(long time, TimeUnit unit) throws InterruptedException;在指定时间内等待获取锁;过程中可被中断

实例:

假如线程A和线程B使用同一个锁LOCK,此时线程A首先获取到锁LOCK.lock(),并且始终持有不释放。如果此时B要去获取锁,有四种方式:

LOCK.lock(): 此方式会始终处于等待中,即使调用B.interrupt()也不能中断,除非线程A调用LOCK.unlock()释放锁。

LOCK.lockInterruptibly(): 此方式会等待,但当调用B.interrupt()会被中断等待,并抛出InterruptedException异常,否则会与lock()一样始终处于等待中,直到线程A释放锁。

LOCK.tryLock(): 该处不会等待,获取不到锁并直接返回false,去执行下面的逻辑。

LOCK.tryLock(10, TimeUnit.SECONDS):该处会在10秒时间内处于等待中,但当调用B.interrupt()会被中断等待,并抛出InterruptedException。10秒时间内如果线程A释放锁,会获取到锁并返回true,否则10秒过后会获取不到锁并返回false,去执行下面的逻辑。

是否会造成 程序不可控, 不在于这几种方式本身,在于业务类别和使用逻辑上。

连锁行业:消费模式的核心是什么?

未来消费品行业的趋势是什么?一种就是消费者口味的变化;另一种是消费模式是什么。上周非常有幸受到好友,招商证券零售行业分析师许荣

小编告诉你锁定计算机的快捷键

小伙伴你们知道锁定计算机的快捷键是吗?又该如何使用快捷键进行锁定计算机呢?要是不清楚的话,那么就随小编一块去了解了一下子锁定计

电脑锁屏背景图片如何更改

笔者教你更改电脑锁屏壁纸,简单,一看就会。 笔记考虑了很多都写下来了,内容详细,相信读者不会白看。一起来更换壁纸吧,让你的电脑显得

iPhone4S有锁版完美激活解锁全攻略

内容摘要:本教程为大家介绍iPhone4S有锁版机器非官方完美激活解锁的方法。

如何解决 " HEAP: Free Heap block xxxxxxxx

如果你是C++程序员,如果你写过一个很复杂的程序,如果你经常碰到莫名其妙的崩溃问题。那么你就有可能遭遇了野指针。如果你比较细心,注意

文章回顾

大家看了本文Lock的四个锁方法简单说明的精彩教程资源内容,是不是对Lock的四个锁方法简单说明了解更多,真心希望Lock的四个锁方法简单说明能帮助到你, 小编会一直给你带来更多教程资源文章信息。

版权声明:886a6af9bc3d6b26 发表于 2020-07-12 11:48:26。

本文由第三方用户分享仅代表作者观点,不代表本网站立场,秉承互联网开放分享的精神,目的在于传递更多信息,加强各行业互通交流,但对内容不作任何保证或承诺,请读者自行参考斟酌。网站发布的信息(包含但不限于版式、图片、字体、文章等素材)由第三方用户分享,版权归原作者所有,本站不承担任何相关的版权纠纷等相关责任。如您认为本篇内容侵犯了您的权益,请与我们联系,我们会及时处理。

豌豆资源网专注分享全网综合资源网站大全,致力于超实用的内容资源搜索。

转载请注明:
本文标题:Lock的四个锁方法简单说明
本文地址:https://www.55wd.com/s108148/