Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hystrix-使用.toObservable()时出现奇怪的线程行为_Java_Multithreading_Rx Java_Hystrix - Fatal编程技术网

Java hystrix-使用.toObservable()时出现奇怪的线程行为

Java hystrix-使用.toObservable()时出现奇怪的线程行为,java,multithreading,rx-java,hystrix,Java,Multithreading,Rx Java,Hystrix,我有一组HystrixCommand,它包装了一个阻塞IO操作(一个JAX-WSWeb服务客户端调用),我希望将其组合为可观察对象(使用列表上的merge),因此我在命令上使用toObservable(),并在Schedulers.IO()上调度它 我从appserver日志和仪表板上看到的是,所有WS调用似乎都在该命令的hystrix池的第一个线程上运行,但执行时间似乎与它们在不同线程上并发运行一致 这与Schedulers.io()使用的CachedThreadScheduler有关,还是我

我有一组HystrixCommand,它包装了一个阻塞IO操作(一个JAX-WSWeb服务客户端调用),我希望将其组合为可观察对象(使用列表上的merge),因此我在命令上使用toObservable(),并在Schedulers.IO()上调度它

我从appserver日志和仪表板上看到的是,所有WS调用似乎都在该命令的hystrix池的第一个线程上运行,但执行时间似乎与它们在不同线程上并发运行一致


这与Schedulers.io()使用的CachedThreadScheduler有关,还是我配置错误(使用coreSize 0和maxSize 10的线程隔离)?此外,如果这是真的,那么即使我的工作负载阻塞,我也应该使用信号量隔离吗?

仅供参考:所描述的行为与我使用的配置是一致的:线程池倾向于在增加超过其核心大小的线程数之前填满队列。由于我将core size设置为0,并且我正在调度一个小于队列长度的数字,因此一次只执行一个作业。仅供参考:所描述的行为与我使用的配置相同:线程池倾向于在增加超过其core size的线程数之前填充队列。由于我将核心大小设置为0,并且调度的数量小于队列长度,因此一次只执行一个作业。