package threaduse;
//通过Runnable接口开发线程
public class Thread02 {
public static void main(String[] args) {
// First02 first02 = new First02();
// //没有start方法,不能直接调用start方法,
// //创建一个Thread类
// Thread thread = new Thread(first02);
// thread.start();
Tiger tiger = new Tiger();//实现了Runnable接口
ThreadProxy threadProxy = new ThreadProxy(tiger);
threadProxy.start();
}
}
class Animal{}
class Tiger extends Animal implements Runnable{
@Override
public void run() {
System.out.println("老虎叫 嗷嗷嗷嗷嗷 !!!!!");
}
}
//线程代理,模拟了一个极简的Thread类
class ThreadProxy implements Runnable {//可以把Proxy类当作 ThreadProxy
private Runnable target = null; //属性,类型是Runnbale
public void run() {
if (target != null) {
target.run();
}
}
public ThreadProxy(Runnable target){
this.target = target;
}
public void start(){
start0();//真正实现多线程的方法
}
public void start0(){
run();
}
}
class First02 implements Runnable {
int count = 0;
@Override
public void run() {
while (true) {
System.out.println("迪迦来喽!! " + ++count + " " + Thread.currentThread().getName());
//休眠一秒
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Java多线程的创建(实现Runnable接口)
最新推荐文章于 2024-08-04 11:07:52 发布