zoukankan      html  css  js  c++  java
  • 线程池

    你的未来由你决定
    

      阻塞队列(blockQueue)

    线程池=银行网点

    corePoolSize, 线程池常驻核心线程数  今日当值线程
    maximumPoolSize, 最大线程数 (加班窗口)
    keepAliveTime, 多余的空闲线程的存活时间
    unit, 存活单位
    workQueue, 阻塞队列 等候区 Executors.defaultThreadFactory(), 线程工厂 工作人员的制服
    defaultHandler 拒绝策略

     线程池 maximumPoolSize,启用的时候,是在阻塞队列满了之后,线程数进行扩容,最大线程数也满了之后,会进到拒绝策略中

     线程池创建:

      Executors

      ThreadPoolExecutor

     线程配置:

      CPU密集型:cpu核数+1

      IO密集型:1.cpu核数*2

           2.线程数=cpu可用核心数/(1-阻塞系数)   阻塞系数:0.8-0.9

    学到皮 学到骨 学到肉 学到筋 学到魂

    死锁编码定位:

      是什么:两个或两个以上的线程在执行过程中,相互争夺资源而造成的一种相互等待的现象

      代码:

     new Thread(new HoldLockThread(lockA, lockB), "AAA").start();
            new Thread(new HoldLockThread(lockB, lockA), "BBB").start();

      解决:

       jps l 命令定位进程号

      jstack xx 找到死锁查看

      

    Unkonw Unkonw(你不知道一样东西,你也会不知道自己不知道这样东西)
  • 相关阅读:
    Validator 字段验证
    DRF实现发送短信验证码接口
    云片网发送短信验证码
    DRF自定义用户认证
    php服务器端与android客户端通信问题
    转 java调用php的webService
    Ubuntu12.04安装vim7.3
    ubuntu12.10更新源
    源列表
    Ubuntu 12.10 用wubi安装到硬盘中
  • 原文地址:https://www.cnblogs.com/2014-1130/p/15409673.html
Copyright © 2011-2022 走看看