美文网首页
12-JDK并发包之重入锁

12-JDK并发包之重入锁

作者: 加碘盐_ed6c | 来源:发表于2018-05-06 17:26 被阅读0次

    Lock

    之前我们介绍了同步锁,也就是synchronized关键字,这是一种同步的方案,但是还有没有其他的方案呢?当然是有的,JDK中提供了很丰富的包去支持这些多线程的操作,当然包含加锁,下面我们就介绍另一种同步的方案,重入锁。它可以完全替代synchronized关键字,而且使用更加灵活

    在java.util.concurrent.locks.ReentrantLock这个类中实现了这个功能。使用ReentrantLock的性能要远远好于synchronized关键字,而且在使用重入锁的时候,加锁的过程可以显示的在程序中出现,各种操作过程必须去手动的加锁,所以重入锁在逻辑上更加灵活。

    下面我们来写一个简单的例子来学习一下这个重入锁:

    public class Main {
        public static void main(String[] args){
            ReentrantLock lock=new ReentrantLock();
            lock.lock();
            for(int i=1;i>100;i++){
                System.out.println(i);
            }
            lock.unlock();
        }
    }
    

    lock就是进入锁,unlock就是出来,这个锁就是可以反复的进入的,所以也就叫做重入锁。

    相关文章

      网友评论

          本文标题:12-JDK并发包之重入锁

          本文链接:https://www.haomeiwen.com/subject/ecvurftx.html