打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一道关于java线程的面试题

   class MyThread extends Thread{
    public void run(){
     System.out.println("MyThread: run()");
    }
    public void start(){
     System.out.println("MyThread: start()");
    }
   }
   class MyRunnable implements Runnable{
    public void run(){
     System.out.println("MyRunnable: run()");
    }
    public void start(){
     System.out.println("MyRunnable: start()");
    }
   }  
   
   MyThread myThread = new MyThread();
   MyRunnable myRunnable = new MyRunnable();
   Thread thread = new Thread(myRunnable);
   myThread.start();
   thread.start();

伤处程序执行结果是什么?

 

答案:

MyThread: start()
MyRunnable: run()

分析:

(一)MyThread 继承自 Thread,且覆盖了start()方法,所以当其实例start()时,不会在执行run()方法中的代码。其实这也是个“没用的线程了”。

所以先打印:MyThread: start() 。

(二)MyRunnable 实现了Runnable 接口,Runnable 接口就一个run()方法。

Thread thread = new Thread(myRunnable); 这句代码,根据Runnable 的实例创建了一个Thread实例,该Thread实例的start方法会执行run()方法中的代码。

所以又打印:MyRunnable: run()

 

总结,Runnable 接口,就一个方法 :run() 。本人觉得这个接口仅仅是一种标记而已(类似 Serializable),或者为了以后扩展使用。而真正有意义的是它的实现:Thread。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java总结篇系列:Java多线程(一)
java并发(四)如何创建并运行java线程
线程最最基础的知识
初学Java多线程:使用Runnable接口创建线程
多线程/JAVA多线程 - 魔乐培训 高端JAVA培训 魔乐科技JAVA培训
多线程入门就这么简单
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服