【Java】学习路径48-线程锁ReentrantLock

Posted on 2022-05-11 21:32  罗芭Remoo  阅读(20)  评论(0编辑  收藏  举报

与上一章学习的线程锁synchronized类似,都是为了解决线程安全的问题。

使用方法:

新建一个ReentrantLock对象。(如果使用Thread多线程,则需要声明static静态)

然后在需要加锁的代码块前面加如语句:

lock.lock();//加锁

然后加上try catch语句。原因是如果加锁的语句出现异常,就会导致后面的解锁语句无法执行!

在finally中写解锁的语句:

lock.unlock();

全部代码如下:

import java.util.concurrent.locks.ReentrantLock;
public class Runnable_ReentrantLock implements Runnable{
    private ReentrantLock lock = new ReentrantLock();
    @Override
    public void run() {
        lock.lock();//加锁
        try{
            
        }finally {
            lock.unlock();
        }
    }
}