详解Java线程的创建和休眠功能及用法指南

分类:知识百科 日期: 点击:0

Java线程是一种用于实现多任务处理的程序,它可以在一个单独的进程中并发执行多个任务。Java线程可以分为两类:用户线程和守护线程。用户线程可以被用于执行用户程序,而守护线程则可以用于执行系统程序。

线程的创建

Java线程可以通过实现Runnable接口来创建,也可以通过继承Thread类来创建。

实现Runnable接口创建线程

实现Runnable接口创建的线程可以共享同一个Thread对象,这样可以有效地减少资源消耗。使用Runnable接口创建线程的步骤如下:

  • 定义实现Runnable接口的类,实现run()方法;
  • 创建实现Runnable接口的实例;
  • 创建Thread实例,并将Runnable接口实例作为参数传入;
  • 调用Thread实例的start()方法启动线程;
public class MyRunnable implements Runnable {
    @Override
    public void run() {
        System.out.println("MyRunnable running");
    }
}

public class Test {
    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();
    }
}

继承Thread类创建线程

继承Thread类创建的线程不能共享同一个Thread对象,每个线程都有自己的Thread对象,这样可以更好地实现多任务处理。使用Thread类创建线程的步骤如下:

  • 定义继承Thread类的类,重写run()方法;
  • 创建Thread实例;
  • 调用Thread实例的start()方法启动线程;
public class MyThread extends Thread {
    @Override
    public void run() {
        System.out.println("MyThread running");
    }
}

public class Test {
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        myThread.start();
    }
}

线程的休眠

在Java中,线程可以通过Thread类的sleep()方法来暂停执行,使线程休眠一段时间,sleep()方法可以接收一个long类型的参数,表示休眠的时间,单位是毫秒。

public class Test {
    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();
        try {
            thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

线程的中断

Java线程可以通过Thread类的interrupt()方法来中断线程,当线程处于休眠或者等待状态时,interrupt()方法会使线程抛出InterruptedException异常,从而结束线程的执行。

public class Test {
    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();
        thread.interrupt();
    }
}
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。