zoukankan      html  css  js  c++  java
  • 8-20 Hystrix线程隔离参数解析及演示

    下面我们就来看几个核心参数。下面三个标红的

    设置为2,后面好演示。

    复制一下我们之前的代码

    复制到最下面改名字:threadTest

    分别都是创建5个




    切换到线程隔离

    现在我们线程里面有2个线程,但是要执行5个。报错的应该是线程池内容不够这种错误。
    运行测试方法




    线程池的最大数量设置为5

    这么设置完成后,再次执行测试方法还是原来那个错误

    它必须有个参数和它一起匹配使用alllowMaximumToDivergeFromCoreSize

    我们把它设置为true。默认值是false

    再来运行测试方法

    五次都执行了。 

    最大线程数量改成3

    再次执行


    依然报错了。因为要运行的线程是5个

    设置等待队列,比如设置为2。最大线程是3,等待队列是2,加起来就是5 。

    运行测试

    这里的错误并不是你的线程数不够,而是TimeoutException

    一共有5个线程,主线程是2个,最大可允许多1个,队列等待是2.

    出现错误的原因是因为这里我们让它休眠了800毫秒。hytrix默认的超时时间是1秒。所以我有三个线程在执行,他们三个无论是谁,都至少800毫秒,然后紧接着我们还有2个等待的,当我前三个处理完,空出来两个位置,这2个等待的才能进去执行,等待的这两个本身已经等待了800毫秒了。他们自己又要执行800毫秒,那么它至少要执行1600毫秒。也就是1秒6,所以它最后报的错误是timeoutException

    我们把休眠注释掉。理论上就应该不再报错 了。



    如果还是想休眠,那么就要把超时时间增大
    先开启下面这个

    再设置超时时间

    结束


  • 相关阅读:
    61序列化二叉树
    60把二叉树打印成多行
    59按之字形顺序打印二叉树
    58对称的二叉树
    57二叉树的下一个结点
    56删除链表中重复的结点
    55链表中环的入口结点
    Python100天打卡-Day10
    Python100天打卡
    点至直线的距离和垂足点计算
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/12815605.html
Copyright © 2011-2022 走看看