zoukankan      html  css  js  c++  java
  • 线程的并发工具类

    一、countDownLatch

    1、计数器,调用await的线程等待计数器的扣除点都扣完了为0时候会继续往下执行;

    1.2专门的初始化线程类:

     

     1.2业务线程类:

    1.3主线程最大最用是初始化了几个线程:

    一个线程可以扣除多个扣除点;

    二、CyclicBarrier

    1、两个概念区别,CyclicBarrier自己带钥匙,人齐了屏障解除;

    countDownLatch是等其他人用累计扣除所有扣除点,await的线程都继续执行;

     2、代码实现

    工作线程,sleep导致不同的线程不同时间到达barrier屏障,人齐了就放行:

     

     3、

     三、semaphore

    1、

     2、代码实现,获取和释放许可:

     

     数据库连接也是资源,拿连接时,在用的连接acquire加1 , 闲着的连接则release减1;

    释放连接相反:

     连接池中,空位也是资源,useless的作用,没有空位无法添加连接资源进来:

     结果:

     四、exchange

    1、阻塞方法,只能两个线程交换,先到等另外一个执行到exchange方法,到了两人呼唤exchange定义的泛型的变量;

     五、

  • 相关阅读:
    最大熵模型中的数学推导
    最大似然估计总结
    减压放松的一些网站
    决策树
    【转】贝叶斯分类干货
    【转】数学之美番外篇:平凡而又神奇的贝叶斯方法
    信号量与并发控制
    枚举与字符串映射
    Block与参数
    Sublime Text 小计
  • 原文地址:https://www.cnblogs.com/wmqiang/p/11670342.html
Copyright © 2011-2022 走看看