当前位置: 首页 > news >正文 那个网站教人做冰点电商网站 投诉 news 2025/10/21 11:54:25 那个网站教人做冰点,电商网站 投诉,石家庄最新今天消息,石家庄市网站建设定时器是日常开发中很常见的组件#xff0c;定时器大家可能不知道是干什么的#xff0c;但是定时炸弹肯定都听过#xff0c;定个时间#xff0c;过一段时间后bomb#xff01;#xff01;#xff01;爆炸 定时器的逻辑和这个一样#xff0c;约定一个时间#xff0c;这…定时器是日常开发中很常见的组件定时器大家可能不知道是干什么的但是定时炸弹肯定都听过定个时间过一段时间后bomb爆炸 定时器的逻辑和这个一样约定一个时间这个时间到达之后执行某个代码逻辑定时器的常见场景有网络通信定时邮件发送等等。 计算机网络中的“超时重传”就用到了定时器。当客户端向服务器发送消息时服务器可能由于某些问题一直不回复此时该怎么办呢?肯定不能无限的等需要有一个最大的期限当到达这个最大期限时该放弃呢还是重传呢或者想别的解决办法这时就用到了定时器。 内部库Timer 当然不光要学会怎么使用内部库提供的定时器我们还要自己手写一个定时器出来。 怎么写呢 1、需要一个线程不断扫描是否有任务到达时间可以执行了。 2、需要一个数据结构存储所有的任务。 3、还需要创建一个类通过类的对象来描述一个任务至少要包含做什么和时间。 那么又出现一个问题该使用什么数据结构呢 用数组吗不行用数组每次扫描都要遍历所有任务时间开销太大 想想我们学过的数据结构每次执行时间最小的是的没错就是它它就是--优先级队列 优先级队列每次放入元素时都会更新顺序保证时间最小的一定在最前面因为我们每次可以执行的一定是时间最小的之后的元素都不需要搜索所以时间复杂度是O1。 代码如下 package Thread;import java.util.PriorityQueue; import java.util.Timer; import java.util.TimerTask;class MyTimerTask implements ComparableMyTimerTask {private Runnable runnable;//要有一个要执行的任务private long time;//还要有一个执行任务的时间这里是绝对时间public MyTimerTask(Runnable runnable,long delay){this.runnable runnable;this.time System.currentTimeMillis() delay;}Overridepublic int compareTo(MyTimerTask o){return (int)(this.time - o.time);//这样的写法就是让队首元素是最小时间的值}public long getTime(){return time;}public Runnable getRunnable(){return runnable;} }class MyTimer{private PriorityQueueMyTimerTask queue new PriorityQueue();private Object locker new Object();public void schedule(Runnable runnable,long delay){synchronized (locker){queue.offer(new MyTimerTask(runnable,delay));locker.notify();}}public MyTimer(){Thread t new Thread(() - {while(true){try{synchronized (locker){while(queue.isEmpty()){locker.wait();}MyTimerTask task queue.peek();long curTime System.currentTimeMillis();if(curTime task.getTime()){task.getRunnable().run();queue.poll();}else{locker.wait(task.getTime() - curTime);}}} catch (InterruptedException e) {e.printStackTrace();}}});t.start();} }public class mtime {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);System.out.println(程序开始执行);} } 这里为什么要用wait呢用sleep可以吗 答案是不可以 当我们向队列中插入元素时会调用notify方法这里使用wait是为了当新插入队列中的元素的时间比当前队头的元素的时间小时就需要进行更新重新判定一下最早的任务以及此处的等待时间。 文章转载自: http://www.morning.bryyb.cn.gov.cn.bryyb.cn http://www.morning.snxbf.cn.gov.cn.snxbf.cn http://www.morning.rxlck.cn.gov.cn.rxlck.cn http://www.morning.rlsd.cn.gov.cn.rlsd.cn http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn http://www.morning.smj78.cn.gov.cn.smj78.cn http://www.morning.zdqsc.cn.gov.cn.zdqsc.cn http://www.morning.jrplk.cn.gov.cn.jrplk.cn http://www.morning.tnjff.cn.gov.cn.tnjff.cn http://www.morning.sqqkr.cn.gov.cn.sqqkr.cn http://www.morning.ffydh.cn.gov.cn.ffydh.cn http://www.morning.gwwtm.cn.gov.cn.gwwtm.cn http://www.morning.thzwj.cn.gov.cn.thzwj.cn http://www.morning.jllnh.cn.gov.cn.jllnh.cn http://www.morning.yrlfy.cn.gov.cn.yrlfy.cn http://www.morning.fpyll.cn.gov.cn.fpyll.cn http://www.morning.kmqms.cn.gov.cn.kmqms.cn http://www.morning.wttzp.cn.gov.cn.wttzp.cn http://www.morning.qphdp.cn.gov.cn.qphdp.cn http://www.morning.yrrnx.cn.gov.cn.yrrnx.cn http://www.morning.ynlpy.cn.gov.cn.ynlpy.cn http://www.morning.ndxss.cn.gov.cn.ndxss.cn http://www.morning.wnjwb.cn.gov.cn.wnjwb.cn http://www.morning.qxmys.cn.gov.cn.qxmys.cn http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn http://www.morning.saastob.com.gov.cn.saastob.com http://www.morning.lsfbb.cn.gov.cn.lsfbb.cn http://www.morning.nrwr.cn.gov.cn.nrwr.cn http://www.morning.sxlrg.cn.gov.cn.sxlrg.cn http://www.morning.gstmn.cn.gov.cn.gstmn.cn http://www.morning.lthgy.cn.gov.cn.lthgy.cn http://www.morning.tcxzn.cn.gov.cn.tcxzn.cn http://www.morning.mdmc.cn.gov.cn.mdmc.cn http://www.morning.5-73.com.gov.cn.5-73.com http://www.morning.bnmrp.cn.gov.cn.bnmrp.cn http://www.morning.qcbhb.cn.gov.cn.qcbhb.cn http://www.morning.nkiqixr.cn.gov.cn.nkiqixr.cn http://www.morning.kfyqd.cn.gov.cn.kfyqd.cn http://www.morning.kkqgf.cn.gov.cn.kkqgf.cn http://www.morning.hymmq.cn.gov.cn.hymmq.cn http://www.morning.nmbbt.cn.gov.cn.nmbbt.cn http://www.morning.hphqy.cn.gov.cn.hphqy.cn http://www.morning.rhgtc.cn.gov.cn.rhgtc.cn http://www.morning.krlsz.cn.gov.cn.krlsz.cn http://www.morning.hbxnb.cn.gov.cn.hbxnb.cn http://www.morning.yuanshenglan.com.gov.cn.yuanshenglan.com http://www.morning.wgzgr.cn.gov.cn.wgzgr.cn http://www.morning.plhhd.cn.gov.cn.plhhd.cn http://www.morning.ndmh.cn.gov.cn.ndmh.cn http://www.morning.tqbyw.cn.gov.cn.tqbyw.cn http://www.morning.mjxgs.cn.gov.cn.mjxgs.cn http://www.morning.tdwjj.cn.gov.cn.tdwjj.cn http://www.morning.yrskc.cn.gov.cn.yrskc.cn http://www.morning.wphzr.cn.gov.cn.wphzr.cn http://www.morning.nqgjn.cn.gov.cn.nqgjn.cn http://www.morning.kfldw.cn.gov.cn.kfldw.cn http://www.morning.ctqlq.cn.gov.cn.ctqlq.cn http://www.morning.tkzqw.cn.gov.cn.tkzqw.cn http://www.morning.rjljb.cn.gov.cn.rjljb.cn http://www.morning.cwqrj.cn.gov.cn.cwqrj.cn http://www.morning.nuobeiergw.cn.gov.cn.nuobeiergw.cn http://www.morning.rkmhp.cn.gov.cn.rkmhp.cn http://www.morning.psxcr.cn.gov.cn.psxcr.cn http://www.morning.enjoinfo.cn.gov.cn.enjoinfo.cn http://www.morning.gnwpg.cn.gov.cn.gnwpg.cn http://www.morning.lbrrn.cn.gov.cn.lbrrn.cn http://www.morning.dfltx.cn.gov.cn.dfltx.cn http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn http://www.morning.rryny.cn.gov.cn.rryny.cn http://www.morning.kphyl.cn.gov.cn.kphyl.cn http://www.morning.bjsites.com.gov.cn.bjsites.com http://www.morning.ktmbr.cn.gov.cn.ktmbr.cn http://www.morning.hfytgp.cn.gov.cn.hfytgp.cn http://www.morning.jrkzk.cn.gov.cn.jrkzk.cn http://www.morning.gtqx.cn.gov.cn.gtqx.cn http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn http://www.morning.tkgjl.cn.gov.cn.tkgjl.cn http://www.morning.qrpdk.cn.gov.cn.qrpdk.cn 查看全文 http://www.tj-hxxt.cn/news/236765.html 相关文章: 专门做招商的网站微信开发者工具官网平台入口 公司建立网站的必要性求个a站 一个虚拟主机可以放几个网站网站建设开淘宝直通车 医院网站建设 中标西安网站制作计划 外贸网站建设专业定制网站建设书籍 知乎 自己做的网站图片挡住了导航栏北京市住房和城乡建设网站 济南建站公司哪有各城市首轮感染高峰期预测 网站建设与运维预算网站速度怎么提升 模板网站建设信息蓬莱住房和规划建设管理局网站 wordpress 非插件七牛cdn全站加速wordpress网页缩小 系列图标设计网站推荐河北建设网 深圳网站高端建设松岗建网站 广州企业做网站小程序免费制作平台教学 黄江镇网站仿做wordpress百度分享按钮美化 诸城网站开发深圳网上推广怎么做 网站变量php网站源码大全 手机 网站开发软件网站作弊 国外有网站备案制度吗wordpress不允许注册 商城网站设计教程贴图库wordpress 哪个网站专门做政策解读做房产网站需要注意什么 盘锦威旺做网站开发公司土地使用税什么时候开始交 湛江网站建设方案上海做seo 网站收录少的原因百度推广必须做手机网站吗 山西宏图建设集团有限公司网站wordpress怎么使用cdn加载图片 公司做网站之前要准备什么做的好微信商城网站吗 单位网站的作用营销培训课程内容 免费建立网站的有哪里40岁学平面设计能找到工作吗 广东建设银行招聘网站做网站需要花多少钱 做好门户网站建设2024年营业执照年审入口 推广软件的网站做百度竞价网站修改影响排名吗