当前位置:首页 > CN2资讯 > 正文内容

我的世界 java 命令方块延时

2天前CN2资讯


一、Timer支持并行处理

java.util.Timer类的作者是大名鼎鼎的Josh Bloch,他可是Java集合框架的作者,谷歌首席架构师。最近一直想研究定时任务,所以就从最最古老的类开始使用吧。

从API文档里看到一个延迟的方法,就是延迟执行任务。我这里的每个任务都是打印任务名称。但是延迟的时间从5秒递减到1秒。运行结果是什么呢?

public static void main(String[] args) { Timer timer = new Timer(); timer.schedule(getRandomTask(5), 5000); timer.schedule(getRandomTask(4), 4000); timer.schedule(getRandomTask(3), 3000); timer.schedule(getRandomTask(2), 2000); timer.schedule(getRandomTask(1), 1000); } private static TimerTask getRandomTask(int num) { TimerTask task = new TimerTask() { @Override public void run() { System.out.println("任务" + num); } }; return task; }

从运行结果来看,看来Timer类内部很可能维护了一个"任务队列",并且知道这个任务在具体得某一刻开始执行。延迟最小的任务1只延迟了1秒,所以第一个打印出来。相反,任务5虽然在主函数的第一行执行,但是延迟5秒后才最后打印出来。所以可以确定,一个Timer对象能够执行多个任务。

拨云见日

Timer类的执行是支持多线程并行处理的。

二、再谈Timer类异常处理

下面的代码几乎与上面得相同,只是在构造任务的时候加了一个限制,就是说如果执行了任务3会出错。运行结果又会是什么呢?

public static void main(String[] args) { Timer timer = new Timer(); timer.schedule(getRandomTask(5), 5000); timer.schedule(getRandomTask(4), 4000); timer.schedule(getRandomTask(3), 3000); timer.schedule(getRandomTask(2), 2000); timer.schedule(getRandomTask(1), 1000); } private static TimerTask getRandomTask(int num) { TimerTask task = new TimerTask() { @Override public void run() { System.out.println("任务" + num); if (num == 3) { String error = "任务" + num + "报错"; throw new RuntimeException(error); } } }; return task; }

我把本次运行结果与上次运行结果拿出来对比一下。任务3报错,实际上就会让本该执行的任务4与任务5执行不了。换句话说,Timer类在多线程并行处理任务的时候,只要其中一个定时任务出错,那么其它任务也都会自动停止运行。这在生产库上是绝对不允许的。或许这也是Timer被废弃的重要缺陷之一吧。

本次程序运行结果:

上次程序运行结果

拨云见日

Timer类在执行多个任务的时候,如果其中一个任务出错,并且没有捕获异常的话,其它任务也会终止执行。所以为了防止这种情况的出现,需要为每个任务使用try--catch语句。

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/21928.html

    分享给朋友:

    “我的世界 java 命令方块延时” 的相关文章

    大陆VPS选购指南:如何选择最适合的虚拟私人服务器

    1.1 什么是大陆VPS 大陆VPS,即中国大陆的虚拟私人服务器,是一种通过虚拟化技术将一台物理服务器分割成多个独立虚拟服务器的服务。每个VPS都拥有独立的操作系统、存储空间和带宽资源,用户可以像使用独立服务器一样进行管理和配置。大陆VPS的优势在于其本地化的数据中心和网络连接,能够为国内用户提供更...

    搬瓦工VPS服务使用指南与优惠码获取技巧

    搬瓦工(BandwagonHost)是一家成立于2004年的网络服务公司,隶属于加拿大IT7。这家公司的崛起与它提供的超低价格VPS服务密不可分,尤其是在中国市场,搬瓦工已经积累了大量的用户和知名度。随着时间的推移,搬瓦工不仅没有止步于低价策略,而是逐渐向中高端VPS市场发展,推出了诸如CN2 GI...

    如何选择适合你的匿名服务器以保护隐私和数据安全

    在当今互联网时代,保护个人隐私和数据安全变得尤为重要。匿名服务器的概念应运而生,成为许多人实现在线安全和隐私的一种方式。简单来说,匿名服务器是一种特殊的服务器,能够隐藏用户的真实IP地址,从而在用户上网时保护其身份和活动。这对于那些希望自由浏览网络、避免被追踪的用户尤其重要。 匿名服务器通常与虚拟私...

    选择和管理海外服务器的最佳策略与优势

    在如今这个信息高度发达的时代,海外服务器逐渐成为许多企业的不二选择。简单来说,海外服务器是指那些位于中国境外的数据处理设备。这些服务器致力于为全球用户提供高效的服务,不论是数据存储、网站托管还是其他在线服务。通过使用海外服务器,企业能够接触到更广阔的市场以及可定制的解决方案,以满足特定需求。 选择海...

    如何获取免费VPS服务无需信用卡:一站式指南

    在互联网时代,虚拟专用服务器(VPS)成为了很多开发者和企业的优选。VPS基本上是一个分隔的服务器环境,用户可以在其中安装操作系统和运行应用程序。它既拥有独立服务器的功能,又比共享主机更具经济性。对很多人来说,了解VPS的运行机制和它的适用场景是非常重要的。 免费VPS服务越来越受到关注。在预算有限...

    AT&T VPS详解:稳定性与灵活性的完美选择

    在这篇文章中,我想和大家聊聊AT&T VPS,尤其是在更广泛的虚拟私有服务器市场中,AT&T VPS代表了什么。AT&T是一家美国知名的电信运营商,其提供的VPS服务在一定程度上依赖于它的网络基础设施。这种结合了高质量网络与虚拟服务器技术的服务,吸引了大量需要高稳定性和可扩展...