总结 Thread 类的基本用法

在 Java 编程语言中,Thread 类是创建和管理线程的基础。线程是多任务处理的基本单元,允许程序并发执行多个任务。下面我们将总结 Thread 类的基本用法,包括线程的创建、中断、等待、休眠以及获取线程实例。

1.线程创建

在 Java 中,有五种方式可以创建线程:通过实现 Runnable 接口,继承 Thread 类,前面两种的匿名内部类,lamba表达式。下面是这五种方式的示例:

class MyThread extends Thread{
    @Override
    public void run(){
        System.out.println("继承 Thread, 重写 run");
    }
}
class MyRunnable implements Runnable{
    @Override
    public void run() {
        System.out.println("实现 Runnable, 重写 run");
    }
}

public class Text {
    public static void main(String[] args) {
        // 1.继承 Thread,重写 run
        MyThread myThread = new MyThread();
        myThread.start();
        // 2.实现 Runnable,重写 run
       Thread thread1 = new Thread(new MyRunnable());
        thread1.start();
        //3.继承 Thread, 重写 run, 使用匿名内部类
        MyThread thread2 = new MyThread() {
            @Override
            public void run() {
                System.out.println("继承 Thread,重写 run,使用匿名内部类");
            }
        };
        thread2.start();
        //4.实现 Runnable, 重写 run, 使用匿名内部类
        Thread thread3 = new Thread(new MyRunnable(){
            @Override
            public void run(){
                System.out.println("实现 Runnable, 重写 run, 使用匿名内部类\n");
            }
        });
        //5.使用 lambda 表达式
        Thread thread4 = new Thread(() -> System.out.println("使用 lambda 表达式"));
        thread4.start();

    }

}
 


2.线程中断

Thread 类提供了 interrupt 方法来中断一个线程。当线程被中断时,它会收到一个中断信号,然后可以选择如何响应这个信号。例如:

Thread thread = new Thread(() -> { 
while (!Thread.currentThread().isInterrupted()) { 
// 线程执行的代码 
} 
}); 
thread.start(); 


// 中断线程 
thread.interrupt();

3.线程等待

Thread 类提供了 join 方法,允许一个线程等待另一个线程执行完成。这在协调多个线程的执行顺序时非常有用。例如:

Thread thread1 = new Thread(() -> { 
// 线程执行的代码 
}); 
Thread thread2 = new Thread(() -> { 
// 等待 thread1 执行完成 
try { 
thread1.join(); 
} catch (InterruptedException e) { 
e.printStackTrace(); 
} 
// 线程执行的代码 
}); 
thread1.start(); 
thread2.start();

4.线程休眠

Thread 类提供了 sleep 方法,允许线程休眠一段时间。这在需要让线程暂停执行一段时间的场景中非常有用。例如:


	try { 

	Thread.sleep(1000); // 休眠 1 秒钟 

	} catch (InterruptedException e) { 

	e.printStackTrace(); 

	}

5.获取线程实例

Thread 类提供了 currentThread 方法,可以获取当前正在执行的线程的实例。例如:


	Thread currentThread = Thread.currentThread();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值