zoukankan      html  css  js  c++  java
  • 135 并发控制工具类

    semaphore:

        计数信号量,理解为控制并发量的共享锁。指定信道数,同时支持多少个线程并发。

        acquire()获取   release() 释放

    CountDownLatch:

       cdl.await()阻塞  cdl.countDown()减1

       先阻塞 后减一 可以模拟出 多线程同时执行的效果

    CyclicBarrier:

         循环栅栏 成批后同步执行 cb.await()  例:斗地主,满人开桌。

    FutureTask:

        和runnable不同,Callable接口,泛型指定返回值

        Callable包装成FutureTask,FutureTask传入Thread中执行。

        ft.get()阻塞方法 能拿到返回值

          一个FutureTask实例 只能用一次!!!!

    再次标记:线程挂起类操作不能使用if 尽量使用while

    fork/join(forkjoinpool->返回forkjointask):

         任务拆分、结果汇总框架(原理上有点像MapReduce),非分布式,单个jvm执行。

         核心内容:定义递归任务(如继承RecursiveTask,实现compute方法)

  • 相关阅读:
    查看串口设备
    JavaScript 闭包
    JS中decodeURI()与decodeURIComponent()
    js 获取浏览器高度和宽度值(多浏览器)
    几种常用网页返回顶部代码
    CSS3 Transition
    jquery操作css
    如何改变hr的颜色
    标签导航——display属性
    思考性能问题
  • 原文地址:https://www.cnblogs.com/windghost/p/12368825.html
Copyright © 2011-2022 走看看