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

dedecms 网站标题 设置金融类网站开发

dedecms 网站标题 设置,金融类网站开发,马鞍山网站建设公司排名,云主机配置网站通常#xff0c;在某些情况下#xff0c;当您有某种工作或作业队列时#xff0c;有必要不立即处理每个工作项或作业#xff0c;而是要延迟一些时间。 例如#xff0c;如果用户单击一个按钮来触发要完成的某项工作#xff0c;而一秒钟后#xff0c;用户意识到他/她错了在某些情况下当您有某种工作或作业队列时有必要不立即处理每个工作项或作业而是要延迟一些时间。 例如如果用户单击一个按钮来触发要完成的某项工作而一秒钟后用户意识到他/她错了则该工作根本就不会开始。 或者如果有一个用例则在经过一些延迟过期后应删除队列中的某些工作元素。 有很多实现但是我想描述的是使用纯JDK并发框架类 DelayedQueue和Delayed接口。 让我从定义工作项的简单且为空界面开始。 我跳过诸如属性和方法之类的实现细节因为它们并不重要。 package com.example.delayed;public interface WorkItem {// Some properties and methods here } 我们模型中的下一个类将代表被推迟的工作项并实现Delayed接口。 仅有几个基本概念需要考虑延迟本身和相应工作项已提交的实际时间。 这就是到期日的计算方式。 因此我们通过引入PostponedWorkItem类来做到这一点。 package com.example.delayed;import java.util.concurrent.Delayed; import java.util.concurrent.TimeUnit;public class PostponedWorkItem implements Delayed {private final long origin;private final long delay;private final WorkItem workItem;public PostponedWorkItem( final WorkItem workItem, final long delay ) {this.origin System.currentTimeMillis();this.workItem workItem;this.delay delay;}Overridepublic long getDelay( TimeUnit unit ) {return unit.convert( delay - ( System.currentTimeMillis() - origin ), TimeUnit.MILLISECONDS );}Overridepublic int compareTo( Delayed delayed ) {if( delayed this ) {return 0;}if( delayed instanceof PostponedWorkItem ) {long diff delay - ( ( PostponedWorkItem )delayed ).delay;return ( ( diff 0 ) ? 0 : ( ( diff 0 ) ? -1 : 1 ) );}long d ( getDelay( TimeUnit.MILLISECONDS ) - delayed.getDelay( TimeUnit.MILLISECONDS ) );return ( ( d 0 ) ? 0 : ( ( d 0 ) ? -1 : 1 ) );} } 如您所见我们创建该类的新实例并将当前系统时间保存在内部origin属性中。 getDelayed方法计算工作项过期之前剩余的实际时间。 延迟是外部设置它是构造函数参数。 由于Delayed扩展了此接口因此必须强制实施Comparable Delayed 。 现在我们大部分完成了 为了完成该示例让我们通过实现equals和hashCode来确保不会将相同的工作项两次提交到工作队列中实现非常简单不需要任何注释。 public class PostponedWorkItem implements Delayed {...Overridepublic int hashCode() {final int prime 31;int result 1;result prime * result ( ( workItem null ) ? 0 : workItem.hashCode() );return result;}Overridepublic boolean equals( Object obj ) {if( this obj ) {return true;}if( obj null ) {return false;}if( !( obj instanceof PostponedWorkItem ) ) {return false;}final PostponedWorkItem other ( PostponedWorkItem )obj;if( workItem null ) {if( other.workItem ! null ) {return false;}} else if( !workItem.equals( other.workItem ) ) {return false;}return true;} } 最后一步是引入某种管理器该管理器将安排工作项并定期轮询过期的项见WorkItemScheduler类。 package com.example.delayed;import java.util.ArrayList; import java.util.Collection; import java.util.concurrent.BlockingQueue; import java.util.concurrent.DelayQueue;public class WorkItemScheduler {private final long delay 2000; // 2 secondsprivate final BlockingQueue PostponedWorkItem delayed new DelayQueue PostponedWorkItem (); public void addWorkItem( final WorkItem workItem ) {final PostponedWorkItem postponed new PostponedWorkItem( workItem, delay );if( !delayed.contains( postponed )) {delayed.offer( postponed );}}public void process() {final Collection PostponedWorkItem expired new ArrayList PostponedWorkItem ();delayed.drainTo( expired );for( final PostponedWorkItem postponed: expired ) {// Do some real work here with postponed.getWorkItem()}} } 使用BlockingQueue可以确保线程安全和高级别的并发性。 该处理方法应定期运行以排干工作项队列。 它可以通过Spring Framework中的 Scheduled注释或JEE 6中的 EJB的Schedule注释进行注释。 请享用 参考在Andriy Redko {devmind}博客上我们的JCG合作伙伴 Andriy Redko 在实践中使用了延迟队列 。 翻译自: https://www.javacodegeeks.com/2012/04/using-delayed-queues-in-practice.html
http://www.huolong8.cn/news/289374/

相关文章:

  • 广州做营销网站公司wordpress古典主题
  • 申报网站建设理由 模板在济南什么人想做网站
  • 中国建设银行购物网站网站开发有哪些流程
  • 营销型网站的域名班级信息网站建设的现状
  • wordpress 多网站吗网站什么时候做SEO优化最合适
  • 公司关于网站设计公司的简介关于做香奈儿网站的PPT
  • 网站开发什么语言公司网站开发交接注意事项
  • 网站文字公告代码集团公司网站开发
  • 长尾关键词挖掘爱站工具淄博网赢网站建设
  • photoshop 做网站阿里云网站建设部署与发布视频
  • 福建省中城建设工程有限公司网站分类目录检索
  • 网站建设上线苏州住房与城乡建设局网站
  • 做网站服务器要什么系统wordpress 长页面
  • 网站推广多少钱一年对网站建设这门课程的想法
  • 外贸网站首页好的网站推荐
  • 品牌营销网站建设网站需要哪些手续
  • 做类似交易猫的网站成都网站建设开发公
  • 网站外链有死链陕西铜川煤矿建设有限公司网站
  • 优客逸家网站源码企业注册网站
  • 财务记账网站建设需要摊销吗推广策略都有哪些
  • 网站建设管理工作总结php网站编程
  • 推荐大良营销网站建设重庆市工程新希望官网
  • 农村建设设计网站首页做网站的具体内容
  • 网站设计案例欣赏微信小程序wordpress
  • 福田欧曼服务站网站建设实训的意义
  • 做个游戏网站多少钱上海房产交易网站
  • 怎么创建教育网站东莞公司注册价格
  • 什么公司做网站最好云服务器可以建网站吗
  • 龙岩食品有限公司seo优化常识
  • 一家企业如何做网站推广qq是用什么开发的