当前位置: 首页 > news >正文

南昌中小企业网站制作python 做网站速度

南昌中小企业网站制作,python 做网站速度,seo联盟平台,网页设计实验报告格式冷热复位我自己对“热和冷可观测”的理解还很不稳定#xff0c;但这是我到目前为止所了解的#xff01; 冷观测 考虑一个返回rx-java Observable的API#xff1a; import obs.Util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import rx.Observable; impo… 冷热复位 我自己对“热和冷可观测”的理解还很不稳定但这是我到目前为止所了解的 冷观测 考虑一个返回rx-java Observable的API import obs.Util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import rx.Observable; import rx.schedulers.Schedulers;public class Service1 {private static final Logger logger LoggerFactory.getLogger(Service1.class);public ObservableString operation() {return Observable.Stringcreate(s - {logger.info(Start: Executing slow task in Service 1);Util.delay(1000);s.onNext(data 1);logger.info(End: Executing slow task in Service 1);s.onCompleted();}).subscribeOn(Schedulers.computation());} } 现在首先要注意的是典型的Observable在订阅之前不会做任何事情 所以基本上如果我要这样做 ObservableString op1 service1.operation(); 除非通过以下方式在Observable上进行订阅否则不会打印或返回任何内容 ObservableString op1 service1.operation();CountDownLatch latch new CountDownLatch(1);op1.subscribe(s - logger.info(From Subscriber 1: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());latch.await(); 因此现在如果此Observable上有多个订阅会发生什么情况 ObservableString op1 service1.operation();CountDownLatch latch new CountDownLatch(3);op1.subscribe(s - logger.info(From Subscriber 1: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());op1.subscribe(s - logger.info(From Subscriber 2: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());op1.subscribe(s - logger.info(From Subscriber 3: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());latch.await(); 有了冷的可观察到的代码代码将再次被调用并再次发出项目这在我的机器上得到了 06:04:07.206 [RxComputationThreadPool-2] INFO o.b.Service1 - Start: Executing slow task in Service 1 06:04:07.208 [RxComputationThreadPool-3] INFO o.b.Service1 - Start: Executing slow task in Service 1 06:04:08.211 [RxComputationThreadPool-2] INFO o.b.BasicObservablesTest - From Subscriber 2: data 1 06:04:08.211 [RxComputationThreadPool-1] INFO o.b.BasicObservablesTest - From Subscriber 1: data 1 06:04:08.211 [RxComputationThreadPool-3] INFO o.b.BasicObservablesTest - From Subscriber 3: data 1 06:04:08.213 [RxComputationThreadPool-2] INFO o.b.Service1 - End: Executing slow task in Service 1 06:04:08.214 [RxComputationThreadPool-1] INFO o.b.Service1 - End: Executing slow task in Service 1 06:04:08.214 [RxComputationThreadPool-3] INFO o.b.Service1 - End: Executing slow task in Service 1热可观察–使用ConnectableObservable 另一方面Hot Observable确实不需要订阅即可开始发射项目。 一种实现Hot Observable的方法是使用ConnectableObservable 它是一个Observable它在调用connect方法之前不会发出项目但是一旦开始发出项目它的任何订阅者只能从订阅点获取项目。 因此再次回顾前面的示例但使用ConnectableObservable代替 ObservableString op1 service1.operation();ConnectableObservableString connectableObservable op1.publish();CountDownLatch latch new CountDownLatch(3);connectableObservable.subscribe(s - logger.info(From Subscriber 1: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());connectableObservable.subscribe(s - logger.info(From Subscriber 2: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());connectableObservable.subscribe(s - logger.info(From Subscriber 3: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());connectableObservable.connect();latch.await(); 并打印以下内容 06:07:23.852 [RxComputationThreadPool-3] INFO o.b.Service1 - Start: Executing slow task in Service 1 06:07:24.860 [RxComputationThreadPool-3] INFO o.b.ConnectableObservablesTest - From Subscriber 1: data 1 06:07:24.862 [RxComputationThreadPool-3] INFO o.b.ConnectableObservablesTest - From Subscriber 2: data 1 06:07:24.862 [RxComputationThreadPool-3] INFO o.b.ConnectableObservablesTest - From Subscriber 3: data 1 06:07:24.862 [RxComputationThreadPool-3] INFO o.b.Service1 - End: Executing slow task in Service 1热点可观察–使用主题 将冷的Observable转换为高温的另一种方法是使用Subject 。 主题既表现为可观察者又表现为观察者有不同类型的主题具有不同的行为。 在这里我使用一个名为PublishSubject的Subject它具有Pub / Sub行为–这些项目被发送给所有在其上监听的订阅者。 因此随着PublishSubject的引入代码如下所示 ObservableString op1 service1.operation();PublishSubjectString publishSubject PublishSubject.create();op1.subscribe(publishSubject);CountDownLatch latch new CountDownLatch(3);publishSubject.subscribe(s - logger.info(From Subscriber 1: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());publishSubject.subscribe(s - logger.info(From Subscriber 2: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());publishSubject.subscribe(s - logger.info(From Subscriber 3: {}, s),e - logger.error(e.getMessage(), e),() - latch.countDown());latch.await(); 了解如何将PublishSubject作为Observable的订阅者引入而其他订阅者则如何订阅PublishSubject。 输出将类似于ConnectableObservable的输出。 从本质上来说这就是我对“热可观察”的理解程度。 因此总而言之Cold和Hot Observable之间的区别在于订户何时获得发射的项目以及何时发射项目–使用Cold Observable它们在订阅并通常获得所有发射的项目时发射一个Hot Observable项目将在没有订阅服务器的情况下发出而订阅者通常会在订阅点之后获得项目。 参考 http://www.introtorx.com/content/v1.0.10621.0/14_HotAndColdObservables.html Rx-java上的优秀Javadoc – http://reactivex.io/RxJava/javadoc/index.html 翻译自: https://www.javacodegeeks.com/2015/03/hot-and-cold-rx-java-observable.html冷热复位
http://wiki.neutronadmin.com/news/72442/

相关文章:

  • 淘宝网站建设评价表什么网站有教做变蛋的
  • 网站开发程序有哪些常熟市维摩剑门绿茶网站建设目标
  • 零基础学pytho 网站开发购物网站建设多少钱
  • 网页制作与网站建设完全学习手册下载网站做哪些比较有意思
  • 商丘网站建设公司网站建设对接模版
  • vue做的网站有什么搜索数据
  • 南京做网站具体需要多少钱桐城市美好乡村建设办公室网站
  • wordpress 建站后端大同百度做网站多少钱
  • 公司网站建设项目的成本计划管理员修改网站的参数会对网站的搜效果产生什么影响?
  • 网站系统建设项目北京seo优化诊断
  • 淘宝网站的建设与运营设计思路网络规划设计师如何复习
  • 武清网站开发tjniu2018网站流量怎么做
  • 深圳快速网站制南宁企业网站设计
  • 有没有专门做淘宝客的网站wordpress 主题版权
  • 网站原型设计流程wordpress可视化编辑器不显示
  • 岳阳建设公司网站建设网站公司电话销售话术
  • 企业网站优化方案范本wordpress开发网站
  • 花都建设局网站百度域名查询官网
  • 专业做网站官网服务器如何创建一个网站
  • 爱网站官网企业管理考研院校推荐
  • 红灰搭配网站模板平阴网络营销是什么
  • 音响网站模板免费下载wap网站多少钱
  • 公司网站建设 上海宜昌视频网站建设
  • 自己搞个网站网站注册免费
  • 万户网站管理系统4.0wordpress整站源码
  • 做网站服务器收费吗一手房哪个网站做信息效果好
  • 刷评论网站推广soho hotel 酒店 wordpress主题
  • 杭州网站设计公司电话区网站制作
  • 域名网站注册认证北京到太原
  • 大连专业做网站二级单位网站建设