Java之TimeUnit

简介: Java之TimeUnit

1、TimeUnit介绍

位于这个包下

import java.util.concurrent.TimeUnit;


2、使用

一般比如多少分钟转多少毫秒、多少秒转多少毫秒、多少小时转多少分钟,还可以使用线程休息的方法, 底层还是用Thread.sleep()实现,代码可读性好点,我们可以使用这个封装好的类。

TimeUnit.SECONDS.sleep(4);

TimeUnit.SECONDS.toMillis(3)


3、测试Demo

public class Sqrt {
  public static void main(String[] args) {
    System.out.println(mySqrt(110));
    try {
      System.out.println("TimeUnit.SECONDS.sleep start");
      TimeUnit.SECONDS.sleep(4); 
      System.out.println("TimeUnit.SECONDS.sleep end");
      //3秒转成毫秒
      System.out.println(TimeUnit.SECONDS.toMillis(3));
      //3分钟转成毫秒
      System.out.println(TimeUnit.MINUTES.toMillis(3));
      //3分钟转成秒
      System.out.println(TimeUnit.MINUTES.toSeconds(3));
      //3小时转成分钟
      System.out.println(TimeUnit.HOURS.toMinutes(3));
    } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
  }
}

sleep源代码实现

  public void sleep(long timeout) throws InterruptedException {
    if (timeout > 0) {
        long ms = toMillis(timeout);
        int ns = excessNanos(timeout, ms);
        Thread.sleep(ms, ns);
    }

4、运行结果

10
TimeUnit.SECONDS.sleep start
TimeUnit.SECONDS.sleep end
3000
180000
180
180
相关文章
|
消息中间件 存储 数据库
RocketMQ 流存储解析:面向流场景的关键特性与典型案例
RocketMQ 流存储解析:面向流场景的关键特性与典型案例
89046 102
|
Kubernetes 容器 Perl
k8s配置hosts域名的几种方式
k8s配置hosts域名的几种方式
2867 0
|
安全 Java Spring
SpringSecurity6从入门到实战之Filter过滤器回顾
该文主要介绍了SpringSecurity框架中的过滤器Filter,探讨了在没有SpringSecurity时如何检查用户登录状态以保护资源。文中通过流程图展示了过滤器在HTTP请求处理中的位置,并提供了官方和中文文档链接。过滤器需实现Filter接口,用于拦截请求并进行预处理和后处理,例如强制登录检查。过滤器链FilterChain则是一系列Filter和资源的组合,通过doFilter方法逐个调用下一个过滤器或传递到目标资源。
|
安全 前端开发 Java
Spring Security是如何工作的?
Spring Security 是一个强大的框架,用于保护 Spring 应用程序,提供全面的安全服务,包括身份验证、授权等功能。本文将介绍其核心概念及默认配置。Spring Security 通过与 Spring MVC、Spring Webflux 或 Spring Boot 集成,创建高度可定制的身份验证和访问控制框架。其核心组件包括 Servlet Filters、Authentication 和 Authorization。通过默认的过滤器链和一系列预定义过滤器,Spring Security 可以轻松实现各种安全功能。
958 3
|
消息中间件 中间件 Kafka
RocketMQ源码(二)消息消费的模式到底是Push还是Pull?
RocketMQ源码(二)消息消费的模式到底是Push还是Pull?
427 1
|
供应链 网络协议 数据安全/隐私保护
|
JavaScript 网络安全 开发工具
[保姆级-从0到1]利用hexo+github托管实现搭建个人博客
[保姆级-从0到1]利用hexo+github托管实现搭建个人博客
|
存储 编解码 监控
基于Python的屏幕监控软件
屏幕监控软件的实现涉及到复杂的操作和权限,同时也涉及到隐私和合法性的问题。这是一个基于Python的小示例,展示如何使用第三方库pyautogui来截屏并保存截图
974 0
|
存储 消息中间件 Java
RocketMQ的消息查询
RocketMQ的消息查询
529 0
RocketMQ的消息查询
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2(下)
服务器Centos7 静默安装Oracle Database 12.2(下)
504 0