多线程之重入锁ReentrantLock(四)

在博文多线程之内存可见性Volatile(一),多线程之原子变量CAS算法(二)中,我介绍了如何安全的访问共享对象,给了两种解决方案,java5.0之后,增加了lock接口的高级功能。

这篇博文,我们介绍lock接口的一种实现,重入锁ReentrantLock,我们只是简单的介绍和synchronized进行一下对比。对于重入锁更加深入的内容,后面我们会再详细的写。

文章目录

    • ReentrantLock
      • 可重入概念
      • 重入锁的构造方法提供了一个可选的公平参数:
    • ReentrantLock与synchronized的比较
    • 实现多个客户端同时售票功能
    • 总结

ReentrantLock

ReentrantLock是一个可重入的互斥锁,重入锁是一种递归无阻塞的同步机制。即ReentrantLock实现了Lock接口,并提供了与synchronized相同的互斥性和内存可见性。但相较于synchronized提供了更高的处理锁的灵活性。

你可能感兴趣的:(【java实战】,JAVA多线程技术)