Java线程等待
侧边栏壁纸
  • 累计撰写 88 篇文章
  • 累计收到 168 条评论

Java线程等待

萧瑟
2021-09-30 / 2 评论 / 114 阅读 / 正在检测是否收录...

最近十年之约的RSS订阅升级了,原本订阅地址失效了,不想错失大佬们发表的精彩博文,故向创始人申请了一个API权限。

谁知道大量请求造成错误: 429 Too Many Requests , 后来发现是我请求过于频繁了。我就想到可以将线程等待几秒再执行,每天大概就请求接口这一次,不在乎数据是否实时。所以找到以下方法并做个记录。

方法一:通过线程的sleep方法

在需要程序等待的地方加入这个语句,实现让程序等待,这里的参数1000是以毫秒为单位,即这语句可以让程序等待1秒。

Thread.currentThread().sleep(1000); 

方法二:TimeUnit类里的sleep方法

TimeUnit类提供的方法,其实底层调用的也是Thread类的sleep方法,让程序进行等待。只不过他在上层根据时间单位进行了封装,如下列代码,共有7种可以选择,可以方便的选择自己需要的时间单位进行使用。

TimeUnit.DAYS.sleep(1);//天 
TimeUnit.HOURS.sleep(1);//小时 
TimeUnit.MINUTES.sleep(1);//分 
TimeUnit.SECONDS.sleep(1);//秒 
TimeUnit.MILLISECONDS.sleep(1000);//秒 
TimeUnit.MICROSECONDS.sleep(1000);//微妙 
TimeUnit.NANOSECONDS.sleep(1000);//纳秒 
0

评论 (2)

取消
  1. 头像
    雨落泪尽
    Android · Google Chrome

    恭喜大佬get新姿势,但是十年之约的api已经取消了请求限制

    回复
    1. 头像
      萧瑟 作者
      Windows 10 · Google Chrome
      @ 雨落泪尽

      没事,搞的是定时任务,等待一下也无所谓。

      回复