Java多线程编程(四)Lock的使用

  一、使用ReentrantLock类

  1.使用ReentrantLock实现同步:测试1

  2.使用ReentrantLock实现同步:测试2

  3.使用Condition实现等待/通知错误用法与解决

  4.正确使用Condition实现等待/通知

  5.使用多个Condition实现通知部分线程:错误用法

  6.使用多个Condition实现通知部分线程:正确用法

  7.实现生产者/消费者模式:一对一交替打印

  8.实现生产者/消费者模式:多对多交替打印

  9.公平锁与非公平锁

  10.方法getHoldCount()、getQueueLength()、getWaitQueueLength()的测试

  11.方法hasQueuedThread()、hasQueuedThreads()、hasWaiters()的测试

  12.方法isFair()、isHeldByCurrentThread()、isLocked()的测试

  13.方法lockInterruptibly()、tryLock()、tryLock(long timeout,TimeUnit unit)的测试

  14.方法awaitUninterruptibly()的使用

  15.方法awaitUntil()的使用

  16.使用Condition实现顺序执行

  二、使用ReentrantReadWriteLock类

  1.类ReentrantReadWriteLock的使用:读读共享

  2.类ReentrantReadWriteLock的使用:写写互斥

  3.类ReentrantReadWriteLock的使用:读写互斥

  4.类ReentrantReadWriteLock的使用:写读互斥

猜你喜欢

转载自www.cnblogs.com/BigJunOba/p/8991311.html