首页 技术 正文
技术 2022年11月8日
0 收藏 644 点赞 1,457 浏览 904 个字

Java多线程之线程的暂停

  下面该稍微休息一下了呢……不过,这里说的是线程休息,不是我们哦。本节将介绍一下让线程暂停运行的方法。

  线程Thread 类中的sleep 方法能够暂停线程运行,Sleep 也就是“休眠”的意思。sleep 方法是Thread 类的静态方法。

  下面这条语句可以将当前的线程(执行这条语句的线程)暂停约1000 毫秒(约1 秒)。

  Thread.sleep(1000);

  如下代码会输出10 次Good! 字符串,而每输出1 次,线程就暂停约1000 毫秒(约1 秒)。也就是每隔约1 秒就输出1 次Good! 字符串

  每隔约1 秒输出1 次Good !的程序(Main.java)

  public class Main {

    public static void main(String[] args) {
         for (int i = 0; i < 10; i++) {

        System.out.println(“Good!”);

        try {

          Thread.sleep(1000);
        } catch (InterruptedException e) {

          e.printStackTrace();
        }
      }
    }
  }

  sleep 方法的调用放在了try…catch 中, 这是因为,sleep 方法有可能会抛出InterruptedException 异常。InterruptedException 异常能够取消线程的处理。

  在实际程序中,sleep 的使用频率并没有这么高。最多也就是在设计一定时间后自动关闭的对话框,或把按钮按下瞬间的状态显示给用户看时才会用到。

  在sleep 方法中,停止时间也可以指定到纳秒(10-9 秒)单位,语法如下。

  Thread.sleep( 毫秒, 纳秒);

  不过,通常情况下Java 平台运行环境无法实现这么精确的控制。具体的精确程度依Java 平台运行环境而不同。

  如何唤醒呢:

  如果要中途唤醒被Thread.sleep 休眠的线程,则可以使用interrupt 方法。

  参考:图解Java多线程设计模式

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,490
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,291