zoukankan      html  css  js  c++  java
  • 《Java并发编程实战》笔记-状态依赖方法的标准形式

    void stateDependentMethod() throws InterruptedException {

          //必须通过一个锁来保护条件谓词

         synchronized(lock) {

               while(!conditionPredicate)

                   lock.wait();

               //现在对象处于合适的状态

         }

    }

    当使用条件等待时(例如Object.wait或Condiotion.await):

    • 通常都有一个条件谓词——包括一些对象状态的测试,线程在执行前必须首先通过这些测试。
    • 在调用wait之前测试条件谓词,并且从wait中返回时再次进行测试。
    • 在一个循环中调用wait。
    • 确保使用与条件队列相关的锁来保护构成条件谓词的各个状态变量。
    • 当调用twait、notify或notifyAll等方法时,一定要持有与条件队列相关的锁。
    • 在检查条件谓词之后以及开始执行相应的操作之前,不要释放锁。
  • 相关阅读:
    5,7地面物品
    0,1选怪
    0,2使用红,蓝
    BT地址(__)
    3,7包裹物品数组
    0,4捡物
    如何在目标内网中发现更多存活主机
    xss自动化攻击
    .NET Framework 4安装失败
    利用struts1.x框架需要注意的问题
  • 原文地址:https://www.cnblogs.com/birdstudio/p/6565985.html
Copyright © 2011-2022 走看看