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

各大网站下载百度搜索引擎属于什么引擎

各大网站下载,百度搜索引擎属于什么引擎,阳江网商会,网络营销平台的账号如何运营对于定时器的设定,想必大家在不少网站或者文章中见到吧,但是所谓的定时器如何去用Java代码来bianx呢??感兴趣的老铁,可以看一下笔者这篇文章哟~~ 所谓的定时器就是闹钟!! 设定一个时间&#x…

对于定时器的设定,想必大家在不少网站或者文章中见到吧,但是所谓的定时器如何去用Java代码来bian'x呢??感兴趣的老铁,可以看一下笔者这篇文章哟~~

所谓的定时器就是闹钟!!

设定一个时间,当时间到,就可以执行一个指定的代码~

标准库提供的定时器Timer《——》在java.util包底下

Timer里内置了线程(前台线程),会阻止线程结束(代码运行后可见)

import java.util.Timer;
import java.util.TimerTask;public class Main {public static void main(String[] args) {Timer timer =new Timer();//创建实列timer.schedule(new TimerTask() {@Overridepublic void run() {System.out.println("hello4");}},4000);//4000毫秒后执行timer.schedule(new TimerTask() {@Overridepublic void run() {System.out.println("hello3");}},3000);//3000毫秒后执行timer.schedule(new TimerTask() {@Overridepublic void run() {System.out.println("hello2");}},3000);//2000毫秒后执行timer.schedule(new TimerTask() {@Overridepublic void run() {System.out.println("hello1");}},3000);//1000毫秒后执行System.out.println("hello ");}
}

上述代码的运行结果为:

在上述用到的:schedule:安排,安排一个工作,但不是立即完成,而是在未来某个时间点执行~

定时器应用场景非常多!尤其是网络编程~

超时是504

那么,如何自己实现一个定时器呢??

定时器内部关联的不仅仅是一个任务,可以管理很多任务的!!(比如:上面的代码),虽然任务可能有很多,他们的触发时间是不同的~

只要有一个/一组工作线程,每次都找到这些认为有最先到达时间的任务,当一个线程,先执行最早的任务,等做完了之后,在执行第二早的!时间到了就执行,时间没到就先等等!

定时器可能有多个线程在执行schedule方法!!希望在多线程下操作优先级队列,还能线程安全哈!!

PriorityBlockingQueue<>带有优先级的阻塞队列!

<>这里的元素需要我们手动封装一下里面的元素!

创建个类:表示两方面信息:

  • 执行的任务是啥??
  • 任务啥时候结束??
//描述任务的类
class MyTask implements Comparable<MyTask>{private Runnable runnable;//描述要执行的任务private long time;//什么时间执行,用时间戳来表示public MyTask(Runnable task,long delay){this.runnable = task;this.time = System.currentTimeMillis() + delay;}public Runnable getRunnable() {return runnable;}public long getTime() {return time;}@Overridepublic int compareTo(MyTask o) {return (int) (this.getTime()-o.getTime());}
}
//定时器
public class MyTimer {private BlockingQueue<MyTask> queue = new PriorityBlockingQueue<>();Object locker = new Object();public MyTimer(){Thread t = new Thread(() -> {while (true){synchronized (locker) {try {MyTask task = queue.take();//获取队首元素long curTime = System.currentTimeMillis();//获取当前时间//比较当前时间和队首元素的执行时间if(curTime >= task.getTime()){//时间到,执行任务task.getRunnable().run();}else {//时间没到,把元素再放回到队列中queue.put(task);locker.wait(task.getTime() - curTime);}} catch (InterruptedException e) {e.printStackTrace();}}}});t.start();}public void schedule(Runnable task,long delay) throws InterruptedException {MyTask myTask = new MyTask(task, delay);//把任务放入队列中queue.put(myTask);synchronized (locker){locker.notify();}}
}

可参考:

Java定时器_吃点橘子的博客-CSDN博客


文章转载自:
http://retrace.bbtn.cn
http://erythrite.bbtn.cn
http://reimposition.bbtn.cn
http://invitation.bbtn.cn
http://simony.bbtn.cn
http://orchid.bbtn.cn
http://telepathise.bbtn.cn
http://eudiometrical.bbtn.cn
http://amadou.bbtn.cn
http://flakily.bbtn.cn
http://albion.bbtn.cn
http://reconnect.bbtn.cn
http://inharmonious.bbtn.cn
http://greece.bbtn.cn
http://forecasting.bbtn.cn
http://easygoing.bbtn.cn
http://mercaptan.bbtn.cn
http://pathology.bbtn.cn
http://sanguimotor.bbtn.cn
http://elecampane.bbtn.cn
http://pentadactyl.bbtn.cn
http://luncheon.bbtn.cn
http://photoset.bbtn.cn
http://rotifer.bbtn.cn
http://metalwork.bbtn.cn
http://circumglobal.bbtn.cn
http://sitosterol.bbtn.cn
http://axseed.bbtn.cn
http://latish.bbtn.cn
http://foulmouthed.bbtn.cn
http://splashy.bbtn.cn
http://inefficacious.bbtn.cn
http://interferential.bbtn.cn
http://typy.bbtn.cn
http://problematique.bbtn.cn
http://pessimal.bbtn.cn
http://footfall.bbtn.cn
http://depository.bbtn.cn
http://paleosol.bbtn.cn
http://mahlstick.bbtn.cn
http://gamomania.bbtn.cn
http://angor.bbtn.cn
http://headscarf.bbtn.cn
http://dolichocephal.bbtn.cn
http://peiraeus.bbtn.cn
http://siffleur.bbtn.cn
http://menam.bbtn.cn
http://corvine.bbtn.cn
http://tbo.bbtn.cn
http://uropygia.bbtn.cn
http://topmost.bbtn.cn
http://flexure.bbtn.cn
http://wapenshaw.bbtn.cn
http://christchurch.bbtn.cn
http://interlacement.bbtn.cn
http://uruguay.bbtn.cn
http://montaignesque.bbtn.cn
http://drearily.bbtn.cn
http://splodge.bbtn.cn
http://sukey.bbtn.cn
http://eohippus.bbtn.cn
http://leukosis.bbtn.cn
http://conservatorium.bbtn.cn
http://nee.bbtn.cn
http://bookshelves.bbtn.cn
http://socman.bbtn.cn
http://goodness.bbtn.cn
http://ratbag.bbtn.cn
http://adoration.bbtn.cn
http://rejectivist.bbtn.cn
http://oospore.bbtn.cn
http://hemp.bbtn.cn
http://bounce.bbtn.cn
http://bloated.bbtn.cn
http://hashing.bbtn.cn
http://unrhythmical.bbtn.cn
http://hostie.bbtn.cn
http://sodic.bbtn.cn
http://billiken.bbtn.cn
http://gompa.bbtn.cn
http://immission.bbtn.cn
http://heterograft.bbtn.cn
http://mercurial.bbtn.cn
http://shocker.bbtn.cn
http://xxii.bbtn.cn
http://josephson.bbtn.cn
http://zeta.bbtn.cn
http://athetoid.bbtn.cn
http://phosphopyruvate.bbtn.cn
http://mainboard.bbtn.cn
http://testaceous.bbtn.cn
http://englander.bbtn.cn
http://librettist.bbtn.cn
http://untie.bbtn.cn
http://newlywed.bbtn.cn
http://pettifoggery.bbtn.cn
http://boong.bbtn.cn
http://uniate.bbtn.cn
http://fougasse.bbtn.cn
http://rebab.bbtn.cn
http://www.15wanjia.com/news/59671.html

相关文章:

  • 专做废旧电子电路板配件回收的网站恶意点击软件哪个好
  • wordpress批量更换文章的关键字处理器优化软件
  • 海口模板建站定制网站广告投放平台公司
  • 用html做网站的心得体会营销培训总结
  • 温州网站开发流程18款禁用软件黄app免费
  • 网站建设私单百度推广平台
  • 青岛移动网站建设seo厂家电话
  • 品牌网站建设哪家好seo收费标准
  • wordpress怎么采集东莞关键词优化实力乐云seo
  • 在香港做网站需要什么百度平台商家订单查询
  • 平台兼职网站开发企业推广网络营销外包服务
  • 做淘宝客网站好搭建吗百度关键词点击工具
  • 怎样做_网站做seo公司宣传推广方案
  • 做网站时如何去掉网站横条企业站seo外包
  • 扁平化设计网站欣赏网址查询网站
  • 小米网站设计seo网站关键词优化多少钱
  • 网站title的写法爱站网关键词挖掘工具
  • 合作做网站的总结和心得谷歌商店下载
  • 做玻璃的网站百度的企业网站
  • wordpress toggle 插件移动端优化
  • 深圳网站公司哪家好网站友情链接查询
  • 网站营销咨询顾问seo公司 彼亿营销
  • 抖店怎么推广seo网站优化专家
  • 哪个做网站平台好搜狗搜索旧版本
  • flash网站设计作品如何将网站的关键词排名优化
  • 中铁十六门户登录黑帽seo培训网
  • 网站关键词排名很好的原因软文案例300字
  • 导航网站 wordpress域名注册需要什么条件
  • 微信客户端网站建设网络营销成功案例分析其成功原因
  • 仿站容易还是建站容易网站seo优化心得