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方法)

  • 相关阅读:
    Swift和OC混编
    Swift逃逸闭包之见解
    百度地图集成
    hitTest和pointInside和CGRectContainsPoint
    Bitcode问题
    ReactiveCocoa常用方法
    iOS之图文混排
    tableview cell添加3D动画
    ReactiveCocoa总结
    Math类常用方法(Java)
  • 原文地址:https://www.cnblogs.com/windghost/p/12368825.html
Copyright © 2011-2022 走看看