IntricCondition 和 expliciteCondition 的区别 与 intrinsicLoc和expliciteLock的区别很相似, expliciteCondition提供了更多的功能,比如,fair和unfair的wait,notify

不同conditionPredictes 使用不用的condition,不同的waitSet, 一个expliciteLock可以有多个conditon.

不同的conditionPredicates使用不同的codition,一方面代码比较好读,另一方面,减少了无效的notifyAll(),减少了不必要的线程切换.

There  is  an  important  three‐way  relationship  in  a  condition  wait  involving  locking,  the  wait   method,  and  a  condition
predicate.  The  condition  predicate  involves  state  variables,  and  the  state  variables  are  guarded  by  a  lock,  so  before
testing the condition predicate, we must hold that lock.

Just as with built‐in locks and condition queues, the three‐way relationship among the lock, the condition predicate, and
the condition variable must also hold when using explicit  Lock s and  Condition s. The variables involved in the condition
predicate  must  be  guarded  by  the  Lock ,  and  the  Lock   must  be  held  when  testing  the  condition  predicate  and  when
calling  await  and  signal . [11]

IntricCondition和expliciteCondition比较的更多相关文章

随机推荐

  1. Python yield详解***

    yield的英文单词意思是生产,有时候感到非常困惑,一直没弄明白yield的用法. 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: def addlist(alist): f ...

  2. 深入解析thinkphp中的addAll方法

  3. Keras函数式 API

    用Keras定义网络模型有两种方式, Sequential 顺序模型 Keras 函数式 API模型 之前我们介绍了Sequential顺序模型,今天我们来接触一下 Keras 的函数式API模型. ...

  4. YUM CentOS 7 64位下mysql5.7安装配置

    配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ #下载mysql源安装包 # wget http://dev ...

  5. delphi Firemonkey ListView 使用参考

    delphi Firemonkey ListView 使用参考 Tokyo版本 http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Customizin ...

  6. Spring Boot日志集成

    Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用 ...

  7. netbeans php环境搭建

    jdk必须: sudo apt-get install openjdk-7-jdk

  8. linux 正则表达式

    redis-cli INFO|tr -d '\r'|egrep -v '^(#.*)?$'|sed -E 's/^([^:]*):(.*)$/redisInfo[\1]="\2"/ ...

  9. SO_LINGER

    [SO_LINGER] 在默认情况下,当调用close关闭socket的使用,close会立即返回,但是,如果send buffer中还有数据,系统会试着先把send buffer中的数据发送出去,然 ...

  10. linux 查看文件夹文件大小数目等信息

    1. 查看当前目录所有文件和文件夹的大小 方法一: $du -sh * 或 $du -h -d 0 * '-d 0' 代表查询目录的深度为0 ,也就是当前目录,'-d 3' 表示文件目录深度为3,可以 ...