onCompleted执行时机
来源:12-6 使用编程方式实现服务的容错、降级(下)

soco硕
2024-03-04
NacosClientHystrixObservableCommand里subscriber.onCompleted()写在log语句上面,但是onCompleted里的语句却在log语句上面打印,并且onCompleted也没有使用另外的线程,请问这是为什么呢
代码语句:
subscriber.onCompleted();
log.info("command task completed: [{}], [{}]",
JSON.toJSONString(serviceIds),
Thread.currentThread().getName());
日志输出:
command task completed: [[“e-commerce-nacos-client”,“e-commerce-nacos-client”,“e-commerce-nacos-client”]], [http-nio-8001-exec-3]
all tasks are completed: [e-commerce-nacos-client], [http-nio-8001-exec-3]
写回答
1回答
-
张勤一
2024-03-07
这里其实都是异步执行的过程,线程调度不会阻塞,有耗时的任务执行时,线程会先执行其他的,等到耗时任务执行完毕会有信号通知线程再去处理。
10
相似问题