Java两种延迟方法及区别

java中有两种常用的延迟方法。

一是使用通过实例化Timer对象实现,如下:

Timer timer = new Timer();
        timer.schedule(new TimerTask() {
			public void run() {	
            System.out.println("延迟1.5s");        
            //延迟特定时间后执行该语句(public void run()的花括号里的语句)        
        } }, 1500);        //这里的数字1500意思是延迟1500毫秒

可以看到:

public void run(){}中的语句即时延迟特定时间后所执行的语句,后面的数字为延迟时间,单位:毫秒。

二是使用Thread类的方法,如下:

Thread.currentThread();
Thread.sleep(2333);        //延迟2333毫秒

这种方法是全局性的,即只要某一个类里面使用了该延迟语句,运行这个类时就会先执行该延迟语句,再执行该类的其它语句。

而上面的第一种方法(Timer)就与此不同,即Timer不会对全局造成影响,即运行这个类时,会先执行Timer上面的其它语句(即按照正常顺序),再执行Timer里面设定的延迟后执行的语句(即上述的public void run()里的语句)。

所以大家使用的时候要有所区别。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
工厂方法和代理是Java中常用的设计模式,它们分别用于对象的创建和对象的代理。下面是它们的特点和使用范围: 1. 工厂方法模式: - 特点:工厂方法模式是一种创建型设计模式,它通过定义一个创建对象的接口,但具体的对象创建由子类决定。这样可以将对象的创建与使用代码解耦,使得代码更加灵活和可扩展。 - 使用范围:工厂方法模式适用于以下场景: - 当一个类不知道它所必须创建的对象的类时。 - 当一个类希望由子类来指定所创建对象的具体类时。 - 当一个类将创建对象的职责委托给多个帮助子类中的某一个,并且希望将哪一个帮助子类是代理者这一信息局部化时。 2. 代理模式: - 特点:代理模式是一种结构型设计模式,它提供了一个代理对象来控制对原始对象的访问。通过使用代理对象,可以在不改变原始对象的情况下,增加额外的功能或控制对原始对象的访问。 - 使用范围:代理模式适用于以下场景: - 远程代理:为一个位于不同地址空间的对象提供一个本地的代理对象,使得可以像访问本地对象一样访问远程对象。 - 虚拟代理:根据需要创建开销很大的对象,延迟对象的创建时间,提高系统的性能。 - 安全代理:控制对原始对象的访问权限,以实现安全性控制。 - 智能代理:在访问原始对象时,增加额外的功能,如记录日志、缓存等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值