ReentrantLock 之 lock 加锁过程分析

2020-02-06 16:04:51 25 举报
ReentrantLock 之 lock 加锁过程分析
ReentrantLock 是 Java 并发包中的一个类,它实现了 Lock 接口。在 ReentrantLock 中,lock() 方法用于加锁。当一个线程调用 lock() 方法时,如果锁当前没有被其他线程持有,那么该线程将成功获取锁并返回 true;如果锁已经被其他线程持有,那么该线程将被阻塞,直到锁被释放。 ReentrantLock 的加锁过程可以分为以下几个步骤: 1. 首先检查锁是否已经被占用,如果已经被占用则进入等待队列。 2. 如果锁未被占用,则将锁分配给当前线程,并将锁标志位设置为已占用。 3. 如果当前线程已经拥有了锁,则直接返回 true。
作者其他创作
大纲/内容
评论
0 条评论
回复 删除
取消
回复
下一页