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

  • 相关阅读:
    数据分析 ---上篇
    爬虫 ---模拟登录
    Spider -- 获取图片并处理中文乱码
    爬虫篇 ---增量式爬虫
    Django中间件深入理解
    认识casbin
    关于nginx开机自己启动配置
    更改redhat yum源
    sqlalchemy监听事件
    Linux命令 history
  • 原文地址:https://www.cnblogs.com/windghost/p/12368825.html
Copyright © 2011-2022 走看看