技术文章 > java >  java基础 > 正文

java中lock有哪几种用法

小妮浅浅

在之前讨论线程问题时,其安全性一直是我们使用的注意点。对于java中锁的使用,本篇主要基于lock讲起。从它的作用来看,我们会发现使用的灵活性和多个线程共享都得到了实现。下面我们对lock锁的作用详细介绍,并带来其六种用法的展示进行说明,下面一起来看具体的lock使用吧。

1.作用

(1)Lock方式来获取锁支持中断、超时不获取、是非阻塞的

(2)提高了语义化,哪里加锁,哪里解锁都得写出来

(3)Lock显式锁可以给我们带来很好的灵活性,但同时我们必须手动释放锁

(4)支持Condition条件对象

(5)允许多个读线程同时访问共享资源

2.lock用法

// 获取锁  
void lock()   
 
// 如果当前线程未被中断,则获取锁  
void lockInterruptibly()   
 
// 返回绑定到此 Lock 实例的新 Condition 实例  
Condition newCondition()   
 
// 仅在调用时锁为空闲状态才获取该锁  
boolean tryLock()   
 
// 如果锁在给定的等待时间内空闲,并且当前线程未被中断,则获取锁  
boolean tryLock(long time, TimeUnit unit)   
 
// 释放锁  
void unlock()

lock()、tryLock()、tryLock(long time, TimeUnit unit)和lockInterruptibly()是用来获取锁的。unLock()方法是用来释放锁的。newCondition()这个方法是线程之间通信的。

以上就是java中lock的六种用法,大家在使用线程的时候或多或少的会接触到。学会lock全部的用法后,可以逐个进行尝试使用。

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  java MyBatis的运行机制是什么
  mybatis在java中的分页查询
  java中lock的同步
  JavaScript中value与val有什么区别?
相关视频章节
  什么是tkinter窗口
  例子3 登录窗口
  例子2 登录窗口
  例子1 登录窗口
  pack grid place 放置位置
作者信息

小妮浅浅

认证0级讲师

最近文章
python在协程中增加任务 458
python pyg2plot的原理 354
python中pyg2plot如何使用? 161
推荐视频
视频教程分类