进阶day06-Thread和Runnable的区别

This commit is contained in:
2026-03-07 13:55:42 +08:00
parent c70570200c
commit 530da7f279
4 changed files with 16 additions and 0 deletions
@@ -1,6 +1,8 @@
package com.inmind.thread07; package com.inmind.thread07;
public class MyThread extends Thread{ public class MyThread extends Thread{
public MyThread(String name) { public MyThread(String name) {
super(name); super(name);
} }
@@ -0,0 +1,10 @@
package com.inmind.callable02;
/*
实现Runnable接口比继承Thread类所具有的优势:
1. 适合多个相同的程序代码的线程去共享同一个资源。
2. 可以避免java中的单继承的局限性。
3. 解耦性(线程管理和线程任务分开,线程任务可以给不同的线程对象执行)
4. 线程池只能放入实现Runnable或callable类的线程,不能直接放入继承Thread的类
*/
public class Demo2 {
}
@@ -11,6 +11,8 @@ public class RunnableDemo01 {
//创建线程任务对象 //创建线程任务对象
RunnableImpl runnable = new RunnableImpl(); RunnableImpl runnable = new RunnableImpl();
//创建线程对象,并给它设置一个任务 //创建线程对象,并给它设置一个任务
Thread thread1 = new Thread(runnable);
Thread thread2 = new Thread(runnable);
Thread thread = new Thread(runnable); Thread thread = new Thread(runnable);
thread.start(); thread.start();
@@ -2,6 +2,8 @@ package com.inmind.thread01;
//注意:只有Thread类才能表示线程,当前Runnable实现类型,只是用来定义run方法的,所以我们可以把 //注意:只有Thread类才能表示线程,当前Runnable实现类型,只是用来定义run方法的,所以我们可以把
//Runnable实现类理解成一个线程任务类 //Runnable实现类理解成一个线程任务类
public class RunnableImpl implements Runnable{ public class RunnableImpl implements Runnable{
int num = 100;//成员变量
//ctrl+o:弹出当前类中可以重写的方法 //ctrl+o:弹出当前类中可以重写的方法
@Override @Override
public void run() {//新的线程要执行的任务代码 public void run() {//新的线程要执行的任务代码