0
点赞
收藏
分享

微信扫一扫

Thread 类和Runnable接口区别 or data 共享

未定义变量 2022-08-02 阅读 189


Thread 类实现例子

//继承线程类
public class MyThread extends Thread {

private String name;

//调用线程的外不构造类
public MyThread(String name) {
this.name = name;
}

@Override
public void run() {//执行内部方法内容
System.out.println("MyThread is " + name);
}
}
//main启动线程
public class Test {

public static void main(String[] args){
MyThread myThread1=new MyThread("线程1");
MyThread myThread2=new MyThread("线程2");
MyThread myThread3=new MyThread("线程3");

myThread1.start();
myThread2.start();
myThread3.start();

System.out.println("myThread1 id ="+myThread1.getId());
System.out.println("myThread1 id ="+myThread2.getId());
System.out.println("myThread1 id ="+myThread3.getId());

}

}

 

Runnable接口实现线程no 数据共享or 数据共享方式

//实现接口
public class MyRunnable implements Runnable {

private String name;

public MyRunnable(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println("MyRunnable is " + name);
}
}
//启动线程
public class Test {

public static void main(String[] args){

MyRunnable myRunnable1=new MyRunnable("Runnable1");
MyRunnable myRunnable2=new MyRunnable("Runnable2");
MyRunnable myRunnable3=new MyRunnable("Runnable3");

//需要通过thread启动
Thread myThread1=new Thread(myRunnable1);
myThread1.start();
System.out.println("myThread1 id ="+myThread1.getId());

Thread myThread2=new Thread(myRunnable2);
myThread2.start();
System.out.println("myThread1 id ="+myThread2.getId());

Thread myThread3=new Thread(myRunnable3);
myThread3.start();
System.out.println("myThread1 id ="+myThread3.getId());





//数据共享的方式 使用runnable接口数据共享
MyRunnable myRunnable5=new MyRunnable("Runnable5");

Thread myThread51=new Thread(myRunnable5);
myThread51.start();
System.out.println("myThread1 id ="+myThread51.getId());

Thread myThread52=new Thread(myRunnable5);
myThread52.start();
System.out.println("myThread2 id ="+myThread52.getId());

Thread myThread53=new Thread(myRunnable5);
myThread53.start();
System.out.println("myThread3 id ="+myThread53.getId());

}

}

从上边的例子发现实现线程的方式 Thread 也是实现了Runnable 接口  ,Runnable接口其实还可以干很多其他的事情 我们使用线程的时候直接使用Thread就好了

 

 

 

举报

相关推荐

0 条评论