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

适合用struts2做的网站网络营销策略是什么

适合用struts2做的网站,网络营销策略是什么,wordpress数据库修改登陆密码忘记,百度网址大全官方下载前言 定时器也是软件开发中的一个重要组件. 类似于一个 “闹钟”。 达到一个设定的时间之后#xff0c;就执行某个指定好的代码#xff0c;比如#xff1a; 在受上述场景中#xff0c;当客户端发出去请求之后#xff0c; 就要等待响应#xff0c;如果服务器迟迟没有响应就执行某个指定好的代码比如 在受上述场景中当客户端发出去请求之后 就要等待响应如果服务器迟迟没有响应也不清楚,这个请求就没发过去? 响应丢了?服务器出问题了?  对于客户端来说,不能无限的等需要有一个最大的期限到达这个最大的期限之后是重新再发一遍还是彻底放弃,还是什么其他的方式。 类似于以上场景就需要用到定时器。 一、标准库中的定时器 在标准库中提供了一个 Timer 类它的核心方法为 schedule 。 schedule方法 包含两个参数 第一个参数指定即将要执行的任务代码第二个参数指定多长时间之后执行 (单位为毫秒)。 参考代码如下 Timer timer new Timer(); timer.schedule(new TimerTask() {Overridepublic void run() {System.out.println(hello);} }, 3000);二、实现一个定时器 在实现一个定时器Timer前我们需要考虑三个问题 Timer 中需要有一个线程扫描任务是否到时间可以执行了需要有一个数据结构把所有的任务都保存起来还需要创建–人类通过类的对象来描述一个任务(至少要包含任务内容和时间) 2.1 定时器的构成 1. 一个带优先级的阻塞队列 为社么要带优先级呢?  因为阻塞队列中的任务都有各自的执行时刻 (delay)。最先执行的任务一定是 delay 最小的。使用带优先级的队列就可以高效的把这个 delay 最小的任务找出来。 2. 队列中的每个元素是一个 Task 对象 3.Task 中带有一个时间属性, 队首元素就是即将要执行的对象 4. 同时有一个 worker 线程一直扫描队首元素, 看队首元素是否需要执行。 2.2实现过程 定时器的完整实现代码 package Timer9;import java.util.PriorityQueue;/*** author Zhang* date 2024/5/1016:43* Description:*/ //通过这个类描述了一个任务 class MyTimerTak implements ComparableMyTimerTak{//要有一个要执行的任务private Runnable runnable;//执行任务的时间private long time;// 此处的delay就是schedule方法传入的相对时间public MyTimerTak(Runnable runnable, long delay ) {this.runnable runnable;this.time System.currentTimeMillis()delay;}Overridepublic int compareTo(MyTimerTak o) {//这样写就是让队首元素是最小时间的值return (int)(this.time - o.time);}public long getTime(){return time;}public Runnable getRunnable(){return runnable;} }//自己的定时器 class MyTimer{//使用一个数据结构保存所有要安排的任务PriorityQueueMyTimerTak queue new PriorityQueue();//使用这个ui想作为锁对象private Object locker new Object();public void schedule(Runnable runnable,long delay){synchronized (locker){queue.offer(new MyTimerTak(runnable, delay));}}//扫描线程public MyTimer(){//创建一个线程Thread t new Thread(()-{while (true){try{synchronized (locker){//不要使用if 作为wait的判定条件应该使用while//使用 while 的目的是为了在 wait被唤醒的时候再次确认一下条件while(queue.isEmpty()){//使用wait等待//这里的wait需要另外的线程唤醒//添加了新任务就会被唤醒locker.wait();}MyTimerTak tak queue.peek();//比较当前的队首是否可以执行元素long curTime System.currentTimeMillis();if (curTime tak.getTime()){//当前时间已经达到了人物事件就可以执行任务了tak.getRunnable().run();//任务执行结束就可以从队列中删除了queue.poll();}else {//当前时间还没达到任务时间暂时不执行任务locker.wait(tak.getTime() - curTime);}}} catch(InterruptedException e){e.printStackTrace();}}});t.start();}}定时器的调用和演示 public class Demo2 {public static void main(String[] args) {MyTimer timer new MyTimer();timer.schedule(new Runnable() {Overridepublic void run() {System.out.println(3000);}},3000);timer.schedule(new Runnable() {Overridepublic void run() {System.out.println(2000);}},2000);timer.schedule(new Runnable() {Overridepublic void run() {System.out.println(1000);}},1000);} }总结 以上就是今天要讲的内容本文仅仅简单介绍定时器的使用场景标准库中的定时器定时器的实现代码。
http://www.hkea.cn/news/14342164/

相关文章:

  • 做电影网站的资源从哪里换邢台做网站哪家便宜
  • php做网站速成软件开发一天收费多少
  • 广州好的做网站公司做贷款的网站有哪些
  • 网站收录提交入口网站建设要什么软件
  • 做网站商城需要什么条件低调赚大钱的灰色行业
  • 响应式网站有什么好处中文 wordpress插件下载
  • 品牌网站建设黑白H狼做靓号网站
  • 做本地分类信息网站赚钱吗国外产品展示网站源码
  • 优秀的图片设计网站推荐wordpress网站布局
  • 长春做个人网站做不了class wp wordpress
  • 法治建设网站模块阳澄湖大闸蟹网站建设
  • 免费网站建设一级深圳做网站排名哪家好
  • 怎么做网站端口代理帝国cms 网站名称
  • 网站建设内页徐州建设工程招标公示
  • 腾讯网qq网站做网站多少流量可以做广告
  • 零陵做网站国内主流网站开发技术
  • 做广告在哪个网站做效果人流最多适合手机的网站
  • 知道一个网站怎么知道是谁做的百度优化中软属于国企还是央企
  • 广东品牌网站建设平台wordpress qqworld
  • 专升本需要考些什么科目百度seo公司整站优化软件
  • 贵阳网站建设多少钱?开发网站用什么语言最好吗
  • 成立网站是不是需要先成立公司应届生招聘去哪个网站
  • 开源系统网站口碑好的秦皇岛网站建设哪家好
  • 网站建设与规划实验总结注册安全工程师考试科目
  • 浙江五联建设有限公司网站wordpress 建设中
  • 苏州市吴江住房和城乡建设局网站在线天堂おっさんとわたし
  • 大型门户网站设计解决方案项目网络的关键路径
  • 做网站设计服务商营销网络怎么填写
  • 山东建设网站公司谷歌网站推广排名工具
  • 建立企业网站的目的和意义销售管理系统业务流程图